当我在Maya中组合一个具有大量装备和连接以及动画属性的复杂动画时,我经常遇到麻烦,然后发现我需要在我的5000帧动画中的某处插入100帧来制作空间用于其他动画。在过去,我一直在努力选择所有对象及其所有关键帧,以便将它们按时间线向下移动,因为我似乎总是想念一些不会被移动的属性,然后事情变得丑陋而且我浪费了很多时候修理东西。
我觉得必须有一种更优雅的方式可以轻松地将一定数量的帧插入到时间轴中,而不必担心某些关键帧会被遗忘。我已经尝试过使用涂料表,但我并不觉得它比图表编辑器更容易使用。
答案 0 :(得分:1)
"优雅"在这种情况下是在旁观者眼中。
实际上,您需要做的是将给定点之后的所有键移动给定量。移动按键将会改变曲线的含义:无论你做什么,插值都会发生变化,除非你在变化的两边都有锁定的切线。
如果您只想在特定时间点插入密钥,它将如下所示:
def move_keys_after(start, time_shift):
key_string = '%s:' % start
for curve in cmds.ls(type='animCurve'):
before = cmds.keyframe(curve, q=True)
cmds.keyframe(curve, r = True, tc = time_shift, t = (key_string,), iub=True)
after = cmds.keyframe(curve, q=True)
print curve, before, "->", after
move_keys_after( 10, 20)
该示例在时间start
之后time_shift
帧移动场景中所有的所有。如果要将此限制为对象,可以直接从对象获取动画曲线,或使用keyframe command
animation
标记