反应控制器是一种使参数对 3ds Max 中的其他任何参数的变化做出反应的程序控制器。通常,使用“反应管理器”对话框来执行涉及“反应控制器”的大部分设置。使用对话框来定义驱动者(即控制其他对象的对象),并为每个驱动者定义由驱动者控制的任意数量的受驱动对象。或者,可以使用“轨迹视图”或者“运动”面板(与其他任何控制器一样)直接为受驱动对象指定反应控制器,然后使用“反应管理器”来指定驱动者和其他参数。
“反应”控制器可分成五种不同的类型:“位置反应”、“旋转反应”、“Point3 反应”、“缩放反应”和“浮点型反应”。可以为场景中的任何设置动画的轨迹设置“反应”控制器。“反应”并不基于时间,但却基于场景中的其他变量,例如位置或者旋转。
例如,当对象靠近给定点时可以使用反应控制器打开灯。肌肉能像手臂骨骼旋转一样凸起。当球的 Z 位置接近地平面时,球能自动挤压。当脚跟从地面抬起时,脚能旋转。
给定事件能够触发粒子系统。变形目标百分比可由事件设置。
示例:要使球体位置根据长方体位置作出反应,请执行以下操作:
此过程显示了所有使用“反应”控制器的可选用方法。建议的工作流是,在“反应管理器”对话框中执行大部分设置:请参见示例:使用“反应管理器”对话框。
这将打开“反应管理器”对话框。“反应”列表显示球体的位置指定为受驱动对象,并且存在驱动者条目,但未向其指定任何运动。反应控制器使用驱动者对象的运动来控制任意数量的受驱动对象。
这将进入“拾取”模式,在该模式下,您可以选择场景中任一对象的运动轨迹来充当驱动者。
此时将打开一个弹出菜单。
“未指定”文本由标记为“Box001/X 位置”的驱动者轨迹代替。
此外,新状态 State001 将会显示在“反应”列表下面的“状态”列表中。
这是反应控制器使用的控制机制基础的一个示例:对于每个驱动者/受驱动对象组合,可以指定由驱动者和受驱动轨迹值定义的任意数量的状态。添加驱动者时自动创建的第一个状态指定,当长方体在 X 轴上位于 -100 时,球体应位于 (-100,0,50)。在此例中,可以用一个参数(X 轴框位置)控制三个参数(所有的三个轴上的球体位置)。通常,使用 1:1 的驱动者/受驱动参数比率。
然后将创建第二个状态,它会告知球体如何随着长方体在多条轴上移动。
长方体移至动画轨迹的中点。球体保持不动。
此操作使用长方体和球体的当前位置创建一个新的状态 (State002)。
您无法移动球体,因为它在其驱动者(长方体)的完全控制下。同样,使用状态栏的“坐标显示”字段无法改变球体位置。不过,使用“反应管理”的编辑工具可以改变球体位置。
该位置在“State02”下的“Sphere001/位置”行中更新。此外,反应管理器图形还显示当驱动者(长方体)的 X 位置变化时受驱动对象(球体)的 X 和 Z 位置值的变化。像在“轨迹视图”一样,表格中的红色代表 X,绿色代表 Y,蓝色代表 Z。
当长方体在第 0 帧和第 50 帧之间移动时,球体上升到了第二状态下的指定位置。
对于第三个状态(最终状态),可以在驱动者对象运动的后半段让受驱动对象沿不同的方向移动。
在第一个 50 帧上,球体在前两个状态之间移动,在动画的后半段,球体在第二和第三个状态之间移动。
总结此过程,展示了无论动画如何,球体仅会对长方体的 X 位置做出响应。
这将打开“动画”四元菜单。
该命令删除当前选择中所有动画关键点。
Y 和 Z 位置的任何变化对球体都没有任何影响。不过,不论 Y 和 Z 的位置如何,在 X 轴的 -100 和 100 之间移动长方体,将会产生“反应”控制器中指定球体位置的变化。
这一过程将显示“反应”控制器的强大功能。您可以查找另一个展示“反应管理器”其他方面的步骤:示例:使用“反应管理器”对话框。
指定“反应”控制器后,右键单击轨迹并选择“属性”,或选择“动画”“反应管理器”以打开“反应管理器”对话框。