【发布时间】:2020-11-10 11:37:06
【问题描述】:
我正在 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)。
【问题讨论】:
-
我不认为您可以直接在编辑点上设置动画,但您可以将它们绑定到集群句柄,然后为该集群设置动画?编辑:可能值得尝试
setKeyframe和controlPoints=True,我不确定。标准绝对只是 TRS -
@itypewithmyhands 我将
controlPoints=True添加到setKeyframe并且成功了!非常感谢,我一定在文档中忽略了它。现在曲线随着动画的其余部分移动和变化。我应该将它添加为这个问题的答案还是它在 cmets 中就足够了? -
@itypewithmyhands 只是为了澄清未来的潜在用途,集群句柄到底是什么?我只能找到一个簇变形器 (knowledge.autodesk.com/support/maya/learn-explore/caas/…) 是同一事物的两个名称还是不同的名称?
-
是的,我指的是集群变形器,只是使用了错误的术语。我将根据我们的评论线程添加这个问题的答案,以便未来的 Google 员工可以更轻松地找到解决方案:)