【问题标题】:In Maya, using Python or Mel, how to find objects with no UV shells在 Maya 中,使用 Python 或 Mel,如何找到没有 UV 壳的对象
【发布时间】:2018-11-01 11:21:21
【问题描述】:

我正在尝试制作一个脚本来扫描 Maya 场景中的所有网格对象并返回没有 UV 壳的对象。我编写了一个有效的脚本......它使用命令 findUvShells,但显然对于这个应用程序,该特定命令非常缓慢。

有没有 OpenMaya 的方法,或者使用更快的命令?我在我们的一个更简单的角色上使用了这个脚本……他只有一个网格对象……花了一分钟多的时间告诉我没有具有 0 个 UV 壳的对象。

def FindObjectsWithNoUVShells():    
    ObjectsWithNoUVShells = []
    OldSel = mc.ls(sl=True)
    Geo = mc.ls(typ="mesh")
    for Obj in Geo:
        mc.select(Obj)
        AllUVSets = (mc.polyUVSet(Obj, q=True, allUVSets=True))
        UVSet = AllUVSets[0]
        if (findUvShells(uvSet=UVSet)[1]) == 0:
            ObjectsWithNoUVShells.append(Obj)
    mc.select(OldSel)

    return (len(ObjectsWithNoUVShells) > 0), ObjectsWithNoUVShells

FindObjectsWithNoUVShells()

【问题讨论】:

    标签: python maya uv-mapping


    【解决方案1】:

    看起来 polyEvaluate 命令就是我想要的。它几乎是即时的,为此。

    def FindObjectsWithNoUVShells():
        ObjectsWithNoUVShells = []
        OldSel = mc.ls(sl=True)
        Geo = mc.ls(typ="mesh")
        for Obj in Geo:
            mc.select(Obj)
    
            if mc.polyEvaluate(uvShell=True) == 0: 
                ObjectsWithNoUVShells.append(Obj)
        mc.select(OldSel)
    
        return (len(ObjectsWithNoUVShells) > 0), ObjectsWithNoUVShell
    

    【讨论】:

      猜你喜欢
      • 2018-08-11
      • 2010-10-06
      • 1970-01-01
      • 1970-01-01
      • 2017-04-21
      • 2019-12-20
      • 1970-01-01
      • 2018-01-27
      • 1970-01-01
      相关资源
      最近更新 更多