Я пытаюсь создать сценарий, который просматривает все объекты сетки в сцене майя и возвращает объекты, которые не имеют УФ-оболочек.Я написал скрипт, который работает ... он использует команду findUvShells, но, очевидно, для этого приложения эта конкретная команда мучительно медленная.
Существует ли способ OpenMaya или более быстрая команда?Я использовал этот сценарий для одного из наших более простых персонажей ... у которого только один объект сетки ... и потребовалось больше минуты, чтобы сказать мне, что не было объектов с 0 УФ-оболочками.
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()