Animator (e.g. lead animator) creates keyframes
Assistant (person or computer) creates in-between frames (“tweening”)
上图中,上方是一个任务,不同时间做不同的动作。下方是在两个动作之间,补充过渡的动作。
也就是说,上方对应的位置都是重要的位置,而对应的帧都叫关键帧(Keyframe)。关键帧能够定义整个动画的走向。
中间的过程我们希望有一些过渡的位置,例如手中的钩子会渐渐地变化变到中间一帧来,中间的过程都不是关键帧。
当年最早期是由最厉害的艺术家们来画关键帧,由助手把中间帧做出来。现在如果要把漫画变成动画,就要有大量人力投入来做中间的过程,风格也要统一,工作量非常大。
Flash 可以生成关键帧和关键帧的过渡,只要中间过程不是特别复杂,就可以自动算出中间的过渡要怎么做。
如果中间过程都可以通过自动化实现,这无疑是非常好的。如果不能,至少也能帮助手减轻很大的压力,可以在自动生成的基础上改一些就可以了。这也是一个方向。
Keyframe Interpolation
关键帧就是给定一系列的帧,中间要插值出来。
这就好像是每一帧里面有若干个重要的点,我们把这些重要的点在每一帧的一一对应的关系找出来之后,就可以把这些点,在不同的帧中通过插值的方法算出来。
插值是一门学问,之前的线性插值是最简单的。
关键帧动画本质上就是插值的技术。
Think of each frame as a vector of parameter values
Keyframe Interpolation of Each Parameter
插值有很多方法。
Linear interpolation usually not good enough
线性插值就是在连续的点中连成线段。
Recall splines for smooth / controllable interpolation
有时候人们要求有一定的连续性,要求在某个点的时候不要忽然拐弯(例如下图左边第二个点),而在需要的时候才忽然拐弯(下图左边第四个点)。
希望有一种东西,可以控制插值的效果。