Хорошо, теперь у меня последняя проблема с моим авторегистратором позвоночника: однако вместо публикации полного кода я упростил вопрос до базовой c демонстрации. Вот что я хочу сделать:
Я знаю, как использовать For L oop, чтобы кластеризовать все cvs на кривой: но вместо всех cvs: я хочу, чтобы он просто кластеризовал верхние 2 cvs, затем нижние 2 cvs для всего 2 кластеров вместо 4, которые он создает для guideLine_ctrlCurve
Во-вторых, я хотел бы переименовать кластеры. Я могу жестко закодировать имена кластеров: но это ненадежно, так как кластеры по-прежнему именуются постепенно, даже если вы измените имена предыдущих кластеров
В-третьих: я хочу, чтобы он стал родительским для переименованных кластеров в clusterGrp: проблема, однако: когда вы родительский кластер, он автоматически создает новую группу для кластера, которая может быть очень раздражает: единственный способ, который я нашел вокруг, это перетаскивание кластера в outliner под новым родителем: но я не сделал нашел решение python.
'''
import DS_clusterCurve_demo
reload (DS_clusterCurve_demo)
DS_clusterCurve_demo.gui()
'''
import re
import maya.cmds as cmds
import maya.mel as mel
if cmds.window("clusterWin", exists =True):
cmds.deleteUI("clusterWin", window = True)
myWindow = cmds.window("clusterWin",t='DS_clusterCurve_demo',w=200, h=500, toolbox=True)
column = cmds.columnLayout(adj=True)
def gui():
if cmds.window("clusterWin", exists=True):
cmds.deleteUI("clusterWin", window=True)
myWindow = cmds.window("clusterWin", t="DS_clusterCurve_demo", w=200, h=500, toolbox=True)
column = cmds.columnLayout(adj=True)
cmds.button(label="Build Example curve", c=buildExamples)
cmds.separator(w=200, h=3)
cmds.button(label="Create Curve Clusters", c=buildClusters)
cmds.separator(w=200, h=3)
cmds.button(label="Group Clusters", c=groupClusters)
cmds.setParent("..")
cmds.showWindow(myWindow)
def buildExamples(*args):
cmds.curve(n='guideLine_ctrlCurve', d=1, p=[(0,0,0),(0,1,0),(0,2,0),(0,3,0)])
def buildClusters(*args):
curveCVs = cmds.ls('guideLine_ctrlCurve' + '.cv[0:]',fl=True)
for p in curveCVs:
cmds.cluster(p)
def groupClusters(*args):
cmds.group(n='clusterGrp',empty=True,world=True)
#cmds.parent('clustersWhenProperlyRenamed','clusterGrp')
Спасибо за помощь