我是python新手。我尝试在Maya中制作一个按钮,以增加折痕边的值。每次我点击它时,我都想使折痕值为+1。
我试过这个:
def crease(ignore):
value=+1
newvalue = value
for i in value(int(newvalue)+1):
maya.cmds.polyCrease(i)
但它不起作用。如果有人能帮忙我真的很感激你能为提供的任何帮助
这是嵌套值的问题,当您的值在def下时,它不会存储在全局范围中。
counter = 0
def crease(ignore):
value = counter+1
maya.cmds.polyCrease(v=i)
return value
counter = crease(0)
如果要跟踪计数器,可以创建一个全局:无法从python 中的函数增加全局变量
格言:python在方法中修改字典
甚至是一个类。
实际上,cmds.polyCrease
包含一个可以执行您想要的操作的标志:
cmds.polyCrease(rv=1)
将使当前选定组件上的折痕值增加1;负值会使其下降。全局计数器从编程的角度来看是可行的,但如果您在场景中的不同对象之间跳跃,它可能会产生令人惊讶的结果。