什么是关键帧动画?

关键帧动画是一种方法,动画师只在选定的时刻(称为关键帧)设置一个值——例如位置、旋转、颜色、灯光亮度——然后软件计算出所有中间帧。这些计算出的帧就是中间帧,而它们的计算方式,即插值,决定了动作看起来是机械的还是自然的。

简短回答

关键帧是在时间点上记录的某个属性的值。同一属性上的两个关键帧定义了一个变化,插值则填充它们之间的帧。几乎所有的 3D 动画——无论是在 Blender、Maya、Cinema 4D、After Effects、游戏引擎还是 Mixos Studio 中——都是基于每个属性轨道上的关键帧,以及控制每个值如何从一个关键帧过渡到下一个关键帧的曲线。

术语的来源

这个词在计算机出现之前就有了。在手绘动画中,主动画师绘制场景的关键姿势——定义动作的极端姿势——而被称为中间画师的助手则绘制连接它们的帧。关键姿势承载了表演;中间帧则使其从一个姿势平滑过渡到下一个姿势。

计算机动画保留了这种分工,并将中间帧的绘制交给了软件。这就是「补间」(tweening)一词的来源,也是为什么关键帧动画的技巧仍然在于选择好的关键帧,而不是生成帧。

关键帧实际存储的内容

关键帧是一个配对:一个时间和一个值,针对一个属性。具有关键帧的属性根据应用程序的不同,被称为轨道(track)、通道(channel)或 F 曲线(F-curve)。位置通常是三个轨道——X、Y 和 Z——因此一个球可以在 X 轴上稳定移动,而其 Y 轴则单独设置关键帧以实现弹跳。

任何数值都可以设置关键帧,不仅仅是运动。灯光强度、摄像机焦距、材质粗糙度、形变关键帧(shape key)的权重以及修改器(modifier)的参数都是普通的轨道。这就是为什么灯光会渐亮、镜头会拉焦或面部会眨眼,使用的工具与移动物体相同。

插值:你未设置的帧

在两个关键帧之间,软件必须生成值,而插值就是它使用的规则。线性插值(Linear)以恒定速率移动值。恒定插值(Constant)——也称为阶梯式(stepped)或保持(hold)——会将值保持到下一个关键帧,然后跳变。贝塞尔(Bezier)或样条(spline)插值会通过关键帧绘制一条平滑曲线,每个关键帧上都有控制柄,用于控制值如何加速离开和减速进入。

这种选择的重要性超出了初学者的预期。同样的两个关键帧可以产生机械的滑动、突然的跳变,或者一个缓出并平稳停止的动作,这完全取决于插值方式——这就是为什么动画师花在曲线上的时间与花在关键帧上的时间一样多。

旋转需要特别注意。以三个角度(欧拉角,Euler)设置关键帧的旋转,当角度超过 360° 或当两个轴对齐时,可能会发生翻转或晃动,这个问题称为万向节锁(gimbal lock)。四元数插值(Quaternion interpolation)可以避免这个问题,这就是为什么引擎和 glTF 等文件格式将旋转存储为四元数。

关键帧与其他制作动作的方式

动作捕捉(Motion capture)记录表演者的动作,并在每一帧上生成关键帧——这是密集的数据,而不是少数几个选定的姿势。它可以像关键帧一样编辑,但通常情况下,对其进行精简或叠加比手动重新调整每个关键帧的时间更容易。

程序化运动来自规则而非关键帧:例如波浪、噪点、弹簧,或将一个值链接到另一个值的表达式。模拟则根据物理学计算运动。当结果需要编辑、重新计时或导出时,两者通常都会被烘焙——采样成关键帧——因为关键帧是所有工具和格式都理解的。

Mixos Studio 中的关键帧

Studio 的时间轴按轴记录位置、旋转和缩放的关键帧——「设置关键帧」在播放头处记录这三项——材质、灯光和摄像机的值则通过检查器中它们旁边的关键帧点来设置。Auto 会在你工作时持续记录:每次更改都会在当前帧生成一个关键帧,直到你将其关闭。

在关键帧之间,它提供 Linear、Hold、Ease in、Ease out 和 Ease 预设,一个标准缓动曲线库,以及在曲线模式下可拖动的贝塞尔手柄。程序化运动作为驱动器与关键帧并存——例如在关键帧姿态之上添加波浪、噪点、弹簧或弹跳效果——刚体模拟也可以烘焙成关键帧,因此所有运动源最终都会呈现在可编辑的轨道中。

常见问题

什么是关键帧?

关键帧是在特定时间点记录的某个属性的值——例如,物体在第 12 帧的高度。动画软件会在关键帧之间进行插值,以生成中间帧。

关键帧和中间帧有什么区别?

关键帧是动画师定义的帧;中间帧是它们之间的帧。在手绘动画中,助手绘制中间帧;在 3D 动画中,软件通过插值计算它们。

什么是补间?

补间(Tweening),是中间帧生成(in-betweening)的简称,指生成两个关键帧之间的帧。在 3D 和运动图形软件中,它通过插值自动完成,而缓动曲线(easing curve)则控制值在过程中如何加速和减速。

动作捕捉是关键帧动画吗?

通常意义上不是。动作捕捉(Motion capture)将表演记录为每一帧上的关键帧,而不是动画师选择的几个姿势。数据存在于相同的轨道中,并且可以使用相同的工具进行编辑,但由于数据密集,通常是进行调整或叠加,而不是逐个关键帧地重新计时。

什么是自动关键帧?

自动关键帧(Auto-key)会在当前帧,当你更改任何可动画值时自动记录一个关键帧。它对于摆姿势很快,但也容易不小心开启——一个不经意的调整就会变成一个关键帧。在 Mixos Studio 中,它就是时间轴标题中的 Auto 开关。

在场景中的任何物体上设置两个关键帧,然后在它们之间拖动时间轴——这就是关键帧动画的全部理念,在一个浏览器标签页中即可实现。

在 Studio 中免费试用