所以我有点不好意思地说:但是我从其他函数调用函数的知识是有限的。我完成了一个完美运行的自动装配脚本:但我意识到我可以根据另一个用户的需要来修剪脂肪,方法是将大量重复命令放入自己的函数中,而不是在不同的形状上一遍又一遍地使用 setAttr。问题是我对这个技巧的了解有限。看起来,如果我通过向其中添加任何新函数来修改任何函数头中的 *args,我的脚本要么忽略它,要么直接停止工作。
脚本本身相对简单:点击“构建示例曲线”后,我想要它做的是点击“设置曲线颜色”后,我希望 setAttributes 函数获取 setColor 函数并更改示例曲线的颜色
如果有人能指出我正确的路径,我将不胜感激,安装和运行脚本的说明位于脚本的末尾:
'''
import exampleScriptTemplate
reload (exampleScriptTemplate)
exampleScriptTemplate.gui()
'''
import maya.cmds as cmds
if cmds.window("buildWin", exists =True):
cmds.deleteUI("buildWin", window = True)
myWindow = cmds.window("buildWin",t='DS_colorChanger',rtf=1,w=100, h=100, toolbox=True)
column = cmds.columnLayout(adj=True)
def gui(*args):
cmds.columnLayout()
cmds.button(w=300,label='build example curves',c=exampleShapes)
cmds.colorIndexSliderGrp('controlColor',
label='Control Color',
min=0,
max=31,
value=1,
columnWidth=[( 1, 80 ),( 2, 40 ), ( 3, 150 )])
cmds.button(w=300,label='Set Curve Color',c=setAttrbutes)
cmds.showWindow(myWindow)
def exampleShapes(*args):
cmds.circle(n='exampleCirc1',ch=False,nr = (0,0,0))
cmds.circle(n='exampleCirc2',ch=False,nr = (0,0,0))
cmds.circle(n='exampleCirc3',ch=False,nr = (0,0,0))
cmds.setAttr('exampleCirc1.translateX',-2)
cmds.setAttr('exampleCirc3.translateX',2)
def setAttrbutes(setColor,*args):
cmds.setAttr('exampleCirc1',setColor)
cmds.setAttr('exampleCirc2',setColor)
cmds.setAttr('exampleCirc3',setColor)
def setColor(*args):
colorPref = cmds.colorIndexSliderGrp('controlColor',query=True,value=True)
colorPref = colorPref -1
cmds.setAttr('.overrideEnabled', 1)
cmds.setAttr('.overrideColor', colorPref)
'''
素胚勾勒不出你
相关分类