Maya 如何计算时间

在设置动画时,Maya 需要跟踪关键帧的计时。尽管看起来明显是以秒存储帧,但 Maya 在内部将每帧的时间值更改为 64 位整数表示形式(称为标记)。

标记

标记是 Maya 中最小的时间增量,每个标记表示 1/141,120,000 秒。这意味着 Maya 以 24 帧/秒 (fps) 的速率计量 141,120,000 标记/秒 (tps),即 5,880,000 标记/帧 (tpf)。

尽管 Maya 始终使用相同每秒标记数,但每帧标记数会根据您选择的播放速度发生变化。要计算每帧的标记数,Maya 将应用您选定的播放速度,即将 tps (141,120,000) 除以使用的播放速度。

例如,对于 15 fps,tpf 数为 9,408,000 (141,120,000/15)。

对非整数(或约整数)帧时间值(例如 29.97 fps)使用此公式时,得到的结果并不总是为整数(例如 5)。由于 Maya 不能对有小数的帧(例如 25.55)设置关键帧,因此,任何时候,Maya 都需要对标记值进行近似计算,时间显示时带星号 *。

但是,Maya 标记非常小(1/141,120,000 秒),因此,即使使用有小数的帧速率(例如 24.976 或 29.97 fps),也依然极其精确。

时间精度和二进制文件格式

为了获得最大时间精确度,我们建议您将您的场景保存为 Maya ASCII (.ma 文件。这是因为 2017 之前的 Maya 版本使用 32 位标记值(只有 6000 tps)。为了保持与这些版本的兼容性,Maya 二进制文件 (*.mb) 中的时间值将继续使用 32 位标记与 1/6000 秒时间-标记持续时间进行保存。

这意味着,如果您保存到二进制文件,可能存在不完全在帧上的轻微关键帧偏移。此偏移对动画的影响通常可以忽略不计。例如,对于 24 fps,帧仍然精确到 0.004 帧。如果使用 Maya ASCII (.ma) 文件,不会发生这种情况,因为关键帧时间以帧的形式存储在这些文件中。

注: 对于与 Maya 先前版本不兼容的较新非整数(或约整数)帧速率(例如 23.976 和 29.97 fps),标记值会稍微修改以准确显示精确的帧值。在这种情况下,标记持续时间为 1001/6000000 秒。此修改是临时的,旨在允许向后兼容 Maya 2017 先前版本。

时间轴边界

为了避免出现数字上溢或下溢问题,将标记强制限制在 64 位(带符号)整数范围内。理论上Maya 时间轴可以处理关键帧从 -2000 到 2000 年的动画!但是,由于 Maya 使用 32 位时间值保存二进制文件,因此我们建议将动画限制在 +/- 50 小时。