问题描述
我正在尝试创建一个函数,使我可以将所有变换(缩放,旋转,平移)归零 我已经找到了一种在python中进行编码的方法,但是似乎编码太多了。我想知道是否有任何方法可以简化此代码?
# zero out transforms for 'pSphere1'
objName = 'pSphere1'
# set translate XYZ to 0
cmds.setAttr(objName + '.tx',0)
cmds.setAttr(objName + '.ty',0)
cmds.setAttr(objName + '.tz',0)
# set rotate XYZ to 0
cmds.setAttr(objName + '.rx',0)
cmds.setAttr(objName + '.ry',0)
cmds.setAttr(objName + '.rz',0)
# set scale XYZ to 1
cmds.setAttr(objName + '.sx',1)
cmds.setAttr(objName + '.sy',1)
cmds.setAttr(objName + '.sz',1)
解决方法
cmds.makeIdentity("pSphere1",apply=False,t=True,r=True,s=True)
,
仅出于完整性考虑,作为@ haggi-krev答案的补充,您可以使用xform
进行转换:
cmds.xform('pSphere1',rotation=(0,0),translation=(0,scale=(1,1,1))
您也可以像这样略微缩写现有代码:
cmds.setAttr('pSphere1.translate',0)
cmds.setAttr('pSphere1.rotate',0)
cmds.setAttr('pSphere1.scale',1)