我对Python非常陌生,正在努力让我在Maya中的生活更轻松。我想我应该试着为我经常做的事情编写简单的循环。例如,重置所有枢轴。当我尝试运行此命令时,会出现以下错误“#错误:类型错误:文件第6行:'NoneType'对象不可编辑#”
from maya import cmds
def resetPivots():
selectAll = cmds.select(allDagObjects = True)
for obj in selectAll:
cmds.manipPivot(reset = True)
resetPivots()
任何帮助和解释都将不胜感激
:编辑:
事实证明,cmds.select(allDagObjects=True)
有一个None返回值,但您可以将选择内容输入到列表中。我已将代码更新为此,但我再次陷入困境:
from maya import cmds
def resetPivots(selection=False):
cmds.select(all = True)
selectAll = cmds.ls(sl = True, dag = True)
print(selectAll)
for obj in selectAll:
center=cmds.objectCenter(obj, gl = True)
print(center)
cmds.manipPivot(p = (center))
resetPivots()
所以,我得到了所有对象中心的坐标,但是当列表被传递到cmds.manipPivot()
时,什么都没有发生
此外,对于我正在尝试做的事情来说,这是不是太多了
我将manippivot替换为xform,并将selectAll筛选为仅使用形状的对象,您可以扩展到变换或其他插件形状
相关问题 更多 >
编程相关推荐