让已经冻结变换的对象移动到世界原点,并重新冻结。
import maya.cmds as cmds
def reset_to_origin(node,node_pos=False):
if not node_pos:
node_pos = cmds.xform(node,query=True,worldSpace=True,rotatePivot=True)
cmds.makeIdentity(node, apply=True,translate=True, rotate=False,
scale=False, normal=False)
node_offset = [p * -1 for p in node_pos]
cmds.xform(node, worldSpace=True, translation=node_offset)
cmds.setAttr(node+'.rotate',0,0,0)
cmds.makeIdentity(node, apply=True, translate=True, rotate=True,
scale=False, normal=False)
node = cmds.ls(sl=True)[0]
reset_to_origin(node)
print(node)