简介

After animating some property in Blender using keyframes you can edit their corresponding curves. When something is "animated", it changes over time. This curve is shown as something called an F-curve. Basically what an F-curve does is an interpolation between two animated properties. In Blender, animating an object means changing one of its properties, such as the object's location, or its scale.

如前所述,Blender的基本时间单位是“帧”,通常仅持续几分之一秒,具体取决于场景的 帧率 。由于动画是由跨越多个帧的增量变化组成的,通常这些属性是 不是 手动 逐帧 修改,因为:

  • 这将需要很长时间!

  • 要获得属性的平滑变化将非常困难(除非你计算数学函数并为每个帧入一个精确的值,这将是非常疯狂的)。

这就是为什么几乎所有导演动画都使用 插值 完成的原因。

这个想法很简单:你定义了几个关键帧,这些关键帧是由多个帧分开的。在这些关键帧之间,属性值由Blender计算(插值)并填充。因此,动画师的工作量显着减少。

../../../_images/editors_graph-editor_fcurves_introduction_f-curves-concept.png

插值示例。

例如,如果你有:

  • 在帧0处的值为0的控制点,

  • 在第25帧处值为10的另一个控制点,

  • 并且你使用线性插值,然后,在第5帧我们得到一个为2的值。

所有中间帧都是如此:只有两个点,你可以从25帧的范围中得到一个平滑的增加(0到10)。显然,如果您希望帧15的值为9,则必须添加另一个控制点(或关键帧)。

时间的方向

Although F-curves are very similar to 贝塞尔, there are some important differences.

出于显而易见的原因,由曲线表示的属性在给定时间不能超过 一个 值,因此:

  • 当移动一个控制点到该控制点之前的另一个控制点的前面时,将在编辑的曲线中将交换这两个控制点的顺序,以避免曲线在时间上回去。

  • For the above reason, it is impossible to have a closed F-curve.

两个控制点切换:曲线不能回到过去!
../../../_images/editors_graph-editor_fcurves_introduction_moving1.png

在移动第二个关键帧之前。

../../../_images/editors_graph-editor_fcurves_introduction_moving2.png

在移动第二个关键帧后。