好的,现在我的脊椎自动装置遇到了最后一个问题:但是,我没有发布完整的代码,而是将问题简化为一个基本的演示。这是我想做的:
我知道如何使用For Loop使曲线上的所有cvs聚类:但不是所有cvs:我希望它仅对前2个cvs聚类,然后对后2个cvs聚类,总共2个集群,而不是它为guideLine_ctrlCurve创建的4个集群
第二,我想重命名集群。我可以对集群名称进行硬编码:但这是不可靠的,因为即使您更改了先前集群的名称,集群仍然会被maya递增命名。
第三:我想让它作为clusterGrp下重命名的集群的父项:但是问题是:每当您为一个集群父项时,它都会自动为该集群创建一个新的组,这可能会非常烦人:这是我找到的唯一方法正在将群集拖到新父级的大纲视图中:但我还没有找到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')
感谢您的帮助
答案 0 :(得分:0)
好的,这是我为所有好奇的人想出的解决方案:
'''
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):
guideCurve = 'guideLine_ctrlCurve'
cmds.cluster(guideCurve + ".cv[0:1]",n="up_crvCluster_")
cmds.cluster(guideCurve + ".cv[2:3]",n="dwn_crvCluster_")
def groupClusters(*args):
cmds.group(n='clusterGrp',empty=True,world=True)
cmds.parent('up_crvCluster_Handle','clusterGrp')
cmds.parent('dwn_crvCluster_Handle','clusterGrp')
它比我更喜欢硬编码:但是,嘿,如果它能正常工作?