简介#

驱动器通过函数来控制属性值。

事实上,驱动器由以下部分组成:

  • 驱动器配置 ,指定0个,1个或多个使用其他属性或物体变换通道的输入值,并使用预定义的数学函数或自定义的Python表达式将其结合在一起。

  • 动画 函数曲线,将驱动配置的输出映射到最终值,以应用到被驱动属性。

例如,物体1的旋转可以被物体2的位置控制。可以说,物体2的位置驱动物体1旋转。

驱动器不仅可以调用大多数属性值,直接映射到其他属性,而且属性也可以作为数学表达式或者Python脚本的一部分,通过函数进一步调整。

驱动器是构建装备的极其强大的工具,通常用于驱动骨骼变换以及形状键,操作约束和影响修改器,通常使用自定义属性作为输入。

曲线视图#

../../_images/animation_drivers_introduction_fcurve.png

曲线编辑器中的驱动器范例。#

如图 驱动器编辑器 的主界面,以及 函数曲线

如图 X轴 映射驱动器的控制变量。单位取决于驱动器。

Y轴 是被驱动的属性值。单位取决于物体属性。

在示例图中,如果控制变量为2.0,则被赋予的属性值为0.5。

默认的F-Curve是一个身份映射,也就是说,由驱动器配置产生的值被应用于被驱动的属性,没有改变。如果驱动器的输出值是2.0,那么该属性将是2.0。

驱动函数可以用贝塞尔曲线手柄艺术性地定义,也可以用三角函数或多项式表达式如 \(y = a + bx\) 数学上定义。此外,函数也可以用噪波或循环重复进行程序化的调制。参见 修改器 了解更多细节。

驱动器配置#

驱动器面板 中配置驱动器。

驱动器可以有零个,一个或多个 变量 。变量是两个物体之间的属性或者距离值。

驱动器 类型 决定变量的使用方式。类型可以可以是:

  • 内置函数:例如,变量值的总和

  • 脚本表达式:可以使用任何现有变量,通过自定义数学表达式或Python表达式控制。

驱动器输出单个值,该值在变量发生变化时变化,变量在驱动器中进行函数计算,得出被驱动的属性值。

关于脚本表达式的注释#

当驱动器使用简单表达式时,Blender 可以将其转化为内部表达式(如果它足够简单)。这意味着,即使是在复杂的场景中,使用人员也能通过简单的操作,添加其它 "简单" 表达式快速计算。内置函数始终以内置方式快速计算。

简单表达式完整列表详见, 简单表达式

当表达式不简单时,可以用Python进行计算。因此,如果不知道Python代码的作者,则驱动器将更慢且有安全风险。这在应用于复杂场景或与他人共享文件时,要格外注意。见 自动运行