空白关键帧是没有任何对象存在的帧,主要用于在画面与画面之间形成间隔,它在
时间轴上是以空心圆的形式显示,用户可以在其上绘制图形,一旦在空白关键帧中创建了内容,空白关键帧就会自动转变为关键帧,按F7
快捷键可创建空白关键帧。
关键帧的概念来源于传统的卡通片制作。在早期Walt Disney的制作室,熟练的动画师设计卡通片中的关键画面,也即所谓的关键帧,然后由一般的动画师设计中间帧。在
三维计算机动画中,中间帧的生成由计算机来完成,插值代替了设计中间帧的动画师。所有影响画面图象的参数都可成为关键帧的参数,如位置、
旋转角、纹理的参数等。关键帧技术是
计算机动画中最基本并且运用最广泛的方法。另外一种动画设置方法是样条驱动动画。在这种方法中,用户采用交互方式指定物体运动的轨迹样条。几乎所有的动画软件如
Alias、Softimage、Wavefront、TDI、3DS等都提供这两种基本的动画设置方法。
无论是样条驱动动画还是关键帧插值方法,都会碰到这个问题:给定物体运动的轨迹,求物体在某一帧画面中的位置。物体运动的轨迹一般由参数样条来表示。如果直接将参数和
帧频联系起来,对
参数空间进行等间隔采样,有可能带来运动的
不均匀性。为了使物体沿一样条
匀速运动,必须建立弧长与样条参数的
一一对应关系。Guenter等提出用Gauss型
数值积分方法计算弧长,用Newton-Raphason迭代来确定给定
弧长点在曲线上的位置,并采用
查找表法记录参数点弧长值的方法来加速计算。在动画设计中,动画师经常需调整物体运动的轨迹来
观察物体运动的效果,交互的速度是一个很重要的因素。Watt等提出了用
向前差分加查找表的方法来提高交互的速度。在精度要求不是很高的情况下,他们的方法非常有效。
从原理上讲,关键帧
插值问题可归结为参数插值问题,传统的插值方法都可应用到关键帧方法中。但关键帧插值又与纯数学的插值不同,它有其特殊性。一个好的关键帧插值方法必须能够产生逼真的
运动效果并能给用户提供方便有效的控制手段。一个特定的运动从空间轨迹来看可能是正确的,但从
运动学或
动画设计来看可能是错误的或者不合适的。用户必须能够控制运动的运动学特性,即通过调整插值函数来改变运动的速度和
加速度。为了很好地解决插值过程中的
时间控制问题,Steketee等提出了用双插值的方法来控制
运动参数。其中之一为位置
样条,它是位置对关键帧的函数;另一条为运动样条,它是关键帧对时间的函数。Kochanek等提出了一类适合于keyframe系统的三次插值样条,他们把关键帧处的切矢量分成入矢量和出矢量两部分,并引入三个参数:
张量t、连续量c和
偏移量b对样条进行控制。该方法已在许多动画系统中得到了应用。