В настоящее время я пытаюсь придать каждому подобъекту узла DAG другой цвет. Это работает, когда я выбираю каждый из этих подобъектов/элементов (но не все) в режиме выбора компонента, а затем запускаю над ним скрипт. Но выбор сетки целиком у меня не работает. Я уже пробовал разные виды listRelatives, но ни один из них не работал. Я могу войти в объект и получить каждую вершину, но они не сгруппированы по связности.
def assignDMat(self,*args):
#selection = self.selector()
selection = cmds.ls(selection=True)
for j in range(0, len(selection)):
cmds.polyColorPerVertex(selection[j], r=0, g=0, b=0, cdo=True)
cmds.polyColorPerVertex(selection[j], r=random.uniform(0,1), cdo=True)
Новый код:
import maya.cmds as cmds
import random
selection = cmds.ls(selection=True)
cmds.polySeparate(selection)
for i in range(0,len(selection)):
obj=cmds.listRelatives(selection[i])
print(len(obj))
for j in range(0,len(obj)-1):
cmds.polyColorPerVertex(obj[j], r=0, g=0, b=0, cdo=True)
cmds.polyColorPerVertex(obj[j], r=random.uniform(0,1), cdo=True)
cmds.polyUnite(("polySurface*"), n="Result", ch=False)