根据上一帧的输出计算Maya输出属性

时间:2018-08-20 09:32:52

标签: api time maya

Maya是否允许使用在帧(N-1)处计算的输出属性作为输入来计算在帧N处的输出属性?前提是(例如)第0帧,我们不查看前一帧,而是使用某种初始条件。负帧将通过及时查看来计算。

例如计算出第N帧处的球的平移等于第N-1帧处的球的平移+ 1cm。在第零帧,球的初始平移为零。

DataBlock具有setContext函数,但是文档似乎禁止使用它进行“定时评估”。我可以直接点击属性插件,并在不同的时间获取值,但这将使用数据块外部的输入。

Maya依赖项API本质上是永恒的-仅允许使用当前时间的状态进行计算吗?唯一的解决方案是使用实质上也是永恒的动画曲线(无论何时,关键帧的输入状态都保持不变)?

1 个答案:

答案 0 :(得分:0)

应该根据需要(即针对“当前”帧)更新简单的节点连接。这应该是历史性的-您应该能够直接跳至给定的帧并获得没有历史记录的场景状态的完整评估。

如果需要偏移值,则可以使用frame cache节点来访问值流中的另一个点。您将要滞后的属性连接到frameCache的“流”插件,然后将“未来”或“过去”属性连接到节点上的插件。通过为连接指定索引值来应用偏移,即frameCache1.past[5]比馈入frameCache的值落后5帧。

您还可以通过使用表达式节点以性能较低但更灵活的方式执行此操作。该表达式可以通过使用带有getAttr()标志的-t来指定时间来轮询特定时间的属性值。这要慢得多,但是可以让您将任意逻辑应用于所需的时间偏移。