Kenties Mayassa on suoraan tapa, jolla saa obun keyframet leivottua hierarkiasta world spaceen, mutta en sellaista löytänyt. Tässä homman tekemiseen scripta.
import maya.cmds as cmds
objs = cmds.ls(sl=True)
fMin = cmds.playbackOptions( q=True, min=True )
fMax = cmds.playbackOptions( q=True, max=True )
for o in objs:
matList = []
for f in range(fMin, fMax):
cmds.currentTime(f)
m = cmds.xform(o, q=True, ws=True, m=True)
matList.append(m)
cmds.parent(o, world=True)
cmds.cutKey(o, at=["translateX", "translateY", "translateZ", "rotateX", "rotateY", "rotateZ", "scaleX", "scaleY", "scaleZ", "v"], o="keys")
for f in range(len(matList)):
cmds.currentTime(f+fMin)
cmds.xform(o, ws=True, m=matList[f])
cmds.setKeyframe(o)