Maya\python 增加值的增量按钮

Maya\python Incremental button that increment value

我是 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)

如果你想跟踪计数器,你可以创建一个全局的: Can not increment global variable from function in python

一个字典: python modify a dictionary inside a method

甚至 class.

碰巧,cmds.polyCrease 包含一个可以满足您要求的标志:

cmds.polyCrease(rv=1)

将使当前选定组件的折痕值增加 1;负值会使它下降。从编程的角度来看,全局计数器是有效的,但如果您在场景中的不同对象之间跳转,它可能会产生令人惊讶的结果。