反应控制器

反应控制器是一种使参数对 3ds Max 中的其他任何参数的变化做出反应的程序控制器。通常,使用“反应管理器”对话框来执行涉及“反应控制器”的大部分设置。使用对话框来定义驱动者(即控制其他对象的对象),并为每个驱动者定义由驱动者控制的任意数量的受驱动对象。或者,可以使用“轨迹视图”或者“运动”面板(与其他任何控制器一样)直接为受驱动对象指定反应控制器,然后使用“反应管理器”来指定驱动者和其他参数。

“反应”控制器可分成五种不同的类型:“位置反应”、“旋转反应”、“Point3 反应”、“缩放反应”和“浮点型反应”。可以为场景中的任何设置动画的轨迹设置“反应”控制器。“反应”并不基于时间,但却基于场景中的其他变量,例如位置或者旋转。

例如,当对象靠近给定点时可以使用反应控制器打开灯。肌肉能像手臂骨骼旋转一样凸起。当球的 Z 位置接近地平面时,球能自动挤压。当脚跟从地面抬起时,脚能旋转。

给定事件能够触发粒子系统。变形目标百分比可由事件设置。

过程

示例:要使球体位置根据长方体位置作出反应,请执行以下操作:

    此过程显示了所有使用“反应”控制器的可选用方法。建议的工作流是,在“反应管理器”对话框中执行大部分设置:请参见示例:使用“反应管理器”对话框

    注: 不必使用“反应”控制器为对象设置动画。这个过程从使反应更容易看到的动画开始。
  1. 在“顶”视口左边,在边上建立一个大约 30 个单位的长方体。
  2. 从第 0 帧的 (-100,0,0) 到第 100 帧的 (100,0,0) 为长方体设置动画。
  3. 在“前”视口,在长方体的稍微靠上处建立一个球体。将球体定位在 (–100,0,50)
  4. 转至 “运动”面板,在“指定控制器”卷展栏,单击并高亮显示“位置”轨迹。
  5. 在“指定控制器”卷展栏上,单击 (指定控制器)。
  6. 在“指定位置控制器”对话框,单击以高亮显示“位置反应”,然后单击“确定”。

    这将打开“反应管理器”对话框。“反应”列表显示球体的位置指定为受驱动对象,并且存在驱动者条目,但未向其指定任何运动。反应控制器使用驱动者对象的运动来控制任意数量的受驱动对象。

  7. 右键单击“反应”列表顶部的“未指定”条目。从菜单中选择“替换驱动者”。

    这将进入“拾取”模式,在该模式下,您可以选择场景中任一对象的运动轨迹来充当驱动者。

  8. 在任一视口中,单击长方体 (Box01)

    此时将打开一个弹出菜单。

  9. 从弹出菜单中,选择“变换”“位置”“X 位置”。

    “未指定”文本由标记为“Box001/X 位置”的驱动者轨迹代替。

    此外,新状态 State001 将会显示在“反应”列表下面的“状态”列表中。

    这是反应控制器使用的控制机制基础的一个示例:对于每个驱动者/受驱动对象组合,可以指定由驱动者和受驱动轨迹值定义的任意数量的状态。添加驱动者时自动创建的第一个状态指定,当长方体在 X 轴上位于 -100 时,球体应位于 (-100,0,50)。在此例中,可以用一个参数(X 轴框位置)控制三个参数(所有的三个轴上的球体位置)。通常,使用 1:1 的驱动者/受驱动参数比率。

    注: 为驱动者指定新的受驱动对象时,反应管理器也会自动定义状态。

    然后将创建第二个状态,它会告知球体如何随着长方体在多条轴上移动。

  10. 将时间滑块拖动至第 50 帧。

    长方体移至动画轨迹的中点。球体保持不动。

  11. 在“反应管理器”对话框中,单击 (创建状态)。

    此操作使用长方体和球体的当前位置创建一个新的状态 (State002)。

  12. 尝试在“前”视口中移动球体。

    您无法移动球体,因为它在其驱动者(长方体)的完全控制下。同样,使用状态栏的“坐标显示”字段无法改变球体位置。不过,使用“反应管理”的编辑工具可以改变球体位置。

  13. 在“反应管理器”对话框上,单击“State002”下的“Sphere001/位置”条目并高亮显示,如有必要,再单击“编辑模式”按钮。
  14. 将球体定位在 (0,0,100) 的位置。

    该位置在“State02”下的“Sphere001/位置”行中更新。此外,反应管理器图形还显示当驱动者(长方体)的 X 位置变化时受驱动对象(球体)的 X 和 Z 位置值的变化。像在“轨迹视图”一样,表格中的红色代表 X,绿色代表 Y,蓝色代表 Z。

  15. 再次单击“编辑模式”按钮以将其禁用,然后再移动时间滑块。

    当长方体在第 0 帧和第 50 帧之间移动时,球体上升到了第二状态下的指定位置。

    对于第三个状态(最终状态),可以在驱动者对象运动的后半段让受驱动对象沿不同的方向移动。

  16. 转至第 100 帧,然后创建新的状态。
  17. 在“状态”列表中,单击新状态或受驱动轨迹以将其高亮显示。
  18. 启用“编辑模式”。将球体定位在 (0,–100,100) 的位置,然后禁用“编辑模式”。
  19. 在第 0 帧到第 100 帧之间滑动时间滑块。

    在第一个 50 帧上,球体在前两个状态之间移动,在动画的后半段,球体在第二和第三个状态之间移动。

    总结此过程,展示了无论动画如何,球体仅会对长方体的 X 位置做出响应。

  20. 转至第 0 帧。 选定长方体,再按住 Alt 键,然后右键单击长方体。

    这将打开“动画”四元菜单。

  21. 从“设置”四元菜单(右下)中选择“删除选定动画”。

    该命令删除当前选择中所有动画关键点。

  22. 现在在所有三个维度中 移动长方体。

    Y 和 Z 位置的任何变化对球体都没有任何影响。不过,不论 Y 和 Z 的位置如何,在 X 轴的 -100 和 100 之间移动长方体,将会产生“反应”控制器中指定球体位置的变化。

    这一过程将显示“反应”控制器的强大功能。您可以查找另一个展示“反应管理器”其他方面的步骤:示例:使用“反应管理器”对话框

界面

指定“反应”控制器后,右键单击轨迹并选择“属性”,或选择“动画”“反应管理器”以打开“反应管理器”对话框