需要帮助根据设置的关键帧位置创建曲线 (maya/python)

Need help creating curves based on set keyframe positions (maya/python)

我正在尝试使用 python 在 Maya 中创建一个工具,该工具根据对象关键帧位置创建曲线。最终目标是创建对象可以混合的不同动画曲线,以便对主要动画进行调整。这是我到目前为止所拥有的。它会创建一条遵循运动路径的曲线,但它不基于关键帧位置。非常感谢任何帮助。

import maya.cmds as cmds

def createAnimCurve( startFrame, endFrame, numCV, object ):
    curveCVstep = ((endFrame - startFrame)+startFrame)/numCV
    points = []
    for step in range( startFrame, endFrame, int(curveCVstep)):
        # Moves throughout the specified timeline to find point results
        cmds.currentTime( step )
        # Queries the pivot position to draw the curve relative to the controller
        xpos = cmds.xform( object,q=1,ws=1,rp=1 )
        # convert the tuple (vector) to a string
        points.append(xpos)
    cmds.curve(d=3, ws=True, p=points, n=object+'_xPath')

createAnimCurve(1,24,12,"L_hand_CTL")  

如果我对你的理解正确,你会想要遍历关键帧(使用 keyframe timeChange 查询)而不是 start/end 范围步进 numCvs。

keyframes = sorted(list(set(cmds.keyframe(object, q=True, timeChange=True))))

此外,避免使用 object 作为内置变量名。