我想冻结所有转换,但是代码太长

问题描述

我正在尝试创建一个函数,使我可以将所有变换(缩放,旋转,平移)归零 我已经找到了一种在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)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...