Composer没有“插入空白帧”按钮,因其基于视图快照而非逐帧绘制;实现视觉停顿需拉伸视图条、插入空视图或偏移关键帧,并严格把控时间精度与总时长。

Composer 时间轴没有“空白帧”概念,所谓插入空白帧,本质是延长某段动画的停留时长或制造静止间隙——它靠的是调整视图停留时间、拖动关键帧位置、或在时间轴末尾追加空状态,而不是像视频剪辑软件那样插入一帧纯黑画面。
为什么找不到“插入空白帧”按钮
Composer 是基于视图快照(View)驱动的动画系统,不是逐帧绘制的视频编辑器。它不生成中间帧,也不支持在时间轴上“插入”不可见的帧。所有时间轴上的条目都是显式定义的视图或关键帧,没有隐藏帧、空帧或占位帧。
常见误操作包括:右键时间轴找“Insert Frame”、尝试用空格键或快捷键添加空白、在关键帧轨道上点击空白处期望生成占位点——这些都不会生效。
- 时间轴上拖入一个视图,默认停留 1 秒;想延长,必须手动拖拽该视图条右侧边缘
- 若要让模型在某个状态“停住 3 秒”,就把它对应的时间条拉长到 3.0s 宽度,而非插入两个额外空白帧
- 导出 MP4 时,Composer 按实际时间轴长度和帧率(默认 30fps)采样,不会因“没内容”而跳过或补黑
延长动画间隙的三种可靠做法
真正能达成“视觉上停顿/留白”效果的,只有以下三种方式,且必须配合时间轴精度控制:
-
拉伸视图停留区间:选中时间轴上的视图条 → 将鼠标悬停在右侧边缘(光标变↔)→ 向右拖拽至目标时长(如从 1.0s 拉到 4.0s)。注意:必须关闭
Snap to Frame,否则会强制对齐到整数秒,导致实际为 3.998s 或 4.002s -
插入新空视图:在装配树中右键 →
Capture View→ 命名为Blank_Hold→ 隐藏所有零件(或设为全透明)→ 拖入时间轴并拉长。这是最可控的“空白段”,因为它是真实视图,可独立设置过渡开关 -
关键帧偏移制造等待:例如想让旋转动画在开始前等 2 秒,就把第一个旋转关键帧的时间值手动设为
2.0(不是拖动,是双击时间数字后输入),确保前 2 秒没有任何相关属性的关键帧
容易被忽略的精度陷阱
哪怕只差 0.001s,也会在循环或衔接处引发顿挫——这不是错觉,是 Composer 严格按浮点时间戳计算插值路径的结果。
- 复制粘贴关键帧后,务必按
Home键回到起点,再拖动滑块逐帧确认位置;不要依赖肉眼判断“看起来挨着” - 总时长必须 ≥ 所有视图停留时间之和。例如三个视图分别设为 2.0s、3.0s、1.5s,时间轴终点至少设为
6.5,否则末尾会被截断,播放器直接跳回第 0 帧 - 使用
tween(durationMillis = ...)类参数(如 Jetpack Compose 场景)时,别混用300和300L—— Kotlin 中类型不一致可能导致动画跳过首帧
真正麻烦的从来不是“怎么加空白”,而是加完之后没人检查时间点是否精确对齐、插值是否统一、总时长是否覆盖完整周期。这些细节不处理,空白段反而会变成卡顿源。











