Composer动画必须数值级严丝合缝:时间点、插值、枢轴、属性值均需手动输入精确值,禁用拖动与吸附,确保循环无缝衔接。

Composer 时间轴对齐不是“拖到一起就完事”,而是数值级严丝合缝——哪怕差 0.001 秒、1 像素偏移、1 度旋转方向不一致,都会导致多对象动画错帧、跳变或交接处闪烁。
关键帧时间点必须手动输入,不能靠拖动对齐
时间轴上看似“挨着”的关键帧,实际可能是 2.001s 和 4.002s,循环播放时就会硬停一帧再跳。Composer 不做浮点归整,它按原始值计算插值路径。
- 关闭时间轴“吸附”(Snap to Frame),改用下方时间输入框手动键入精确值,例如
0.0、2.0、4.0 - 复制关键帧前,先把时间滑块拖到空白轨道或目标图层位置,避免粘贴覆盖已有帧
- 若需覆盖,粘贴前按住
Alt(Windows)或Option(Mac) - 检查总时长:3 秒循环 × 3 次,时间轴终点必须 ≥
9.0s,否则末尾会跳回第 0 帧
插值类型与枢轴点必须全程统一
同一段动画里混用 Linear 和 Bezier 插值,或某个部件中途枢轴被意外移动,会导致运动节奏断裂——人眼感知就是“啪”一下顿住。
- 选中整段循环区间的关键帧(如
0s–3s、3s–6s),右键 →Interpolation→ 统一设为Bezier - 所有参与联动的模型,必须基于同一参考系:先选主控模型 → 右键 →
设置枢轴→ 在边界框中心固定 - 其余模型依次选中 →
变换→对齐→枢轴对齐→ 点击主控模型的枢轴点 - 对齐后若调过缩放,务必右键 →
重置变换,否则枢轴偏移会被放大
旋转/缩放/可见性等属性值也要数值对齐
时间对齐只是第一步,属性值不闭环,照样卡顿。比如旋转动画结束帧是 360.001°,它不会自动归零,而是从 360.0 插值到 360.001 再跳回 0.0,两次微抖叠加成明显抖动。
- 双击每个关键帧,在属性面板里逐项核对
RotationZ、ScaleY、Visibility等值——不要信拖动后显示的近似数,手动输入0.0或360.0并回车确认 - 旋转必须用
0–360°单调序列,避免混用-1.0和359.0(后者会被解释为逆向转 358°) - 缩放首尾帧必须都是
1.0,否则出现“缩放残留→突然归位”的弹跳 -
Visibility类关键帧也要对齐:起始帧 =true,结束帧也得是true,不能一个写on一个写1
照相机和 Digger 关键帧容易漏掉“第二帧”
只设一个照相机关键帧,结果整段动画视角突变一次后就冻结——因为没有“下一个”来定义过渡终点。Digger 关键帧同理,它只记录“开/关”状态切换,不记录中间参数。
- 照相机动画至少设两个关键帧:
0.0s定起点,3.0s定终点,中间可加缓动控制 -
Digger开启后若需保持状态,必须在结束时间点再打一次“开启”关键帧,否则播放器默认关断 - 调试时按住
Ctrl拖动时间滑块逐帧看,重点盯交接点(如工件离开夹具瞬间)是否连续


















