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

时间:2016-06-28 22:54:25

标签: python animation maya curve keyframe

我尝试使用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")  

1 个答案:

答案 0 :(得分:2)

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

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

另外,请避免使用object作为变量名称,这是内置的。