使用 Python 在 Maya 中制作曲线动画

Animating a curve in Maya with Python

我正在 Maya 中制作关键帧脚本物理动画(使用 Python),我想显示一些影响动画对象的矢量(算法结果)。

为了表示一个向量,我选择了一条曲线:

import maya.cmds as cmds
vectorCurve = cmds.curve(d=1, p=[(x, y, z), (p, q, r)])

然后,在为动画创建关键帧时,我会:

for i in range(300):
    #a,b,c,d,e,f values change every iteration
    cmds.move(a, b, c, vectorCurve + ".ep[0]", wd=True)
    cmds.move(d, e, f, vectorCurve + ".ep[1]", wd=True)

    cmds.setKeyframe(vectorCurve, time=i)

但是当我 运行 脚本时,曲线停留在它们的最终位置并且在动画期间不会移动。

如何正确设置(线性)曲线的动画关键帧?

编辑:
曲线实际上有关键帧,但是当我查看通道盒中的键控值时,平移和旋转均为 0,缩放为 1(对于 X、Y 和 Z)。

正如评论中所讨论的,OP 的问题通过指定 control points 也应该被键入来解决:

# Original code
cmds.setKeyframe(vectorCurve, time=i)

# Becomes
cmds.setKeyframe(vectorCurve, time=i, controlPoints=True)