使用列表控制器

3ds Max 中的控制器是一个插件,用来管理关键帧动画(如对象缩放、颜色或平移的变化)中涉及的值。列表控制器组合了两个或多个控制器,并在组合对象之间的关系时非常有用。

例如,列表控制器在使用表达式和约束通过父对象控制子对象时很有用,尤其是当子对象和父对象未共享同一方向时更是如此。可以设置一个列表控制器,以便第二个控制器保持子对象的局部方向,而第一个控制器则基于父对象的全局(世界)方向。

子对象的局部方向可与其父对象的局部方向不同。

左:父底盘的方向

右:左前车轮的方向

您要在本教程中设置动画的装备的子对象(车轮)方向与父对象(车身)不同。要使用关联转动车轮,您应在其 Y 轴(基于车身的方向)而非其 X 轴(车轮的本地方向)上旋转车轮。要重新获得对子对象本地方向的控制,您需要将列表控制器添加到左前轮动画的位置和旋转轨迹上。

设置场景:

手动指定列表控制器:

    在本步骤中,您将把列表控制器手动指定到雪佛兰汽车左前轮的位置和旋转轨迹上。

  1. 从主工具栏“选择集”列表中,选择 Garage_All
  2. 右键单击“Camera001”视口并从四元菜单中选择“隐藏当前选择”。

    将隐藏除汽车之外的所有场景对象。

  3. 在“场景资源管理器”面板上,查看 Chassis 对象旁边是否有一个 箭头图标(表示“展开”)。如果没有箭头图标,请选择“显示子对象”。如果没有该选项,请选择“显示”“显示子对象”以启用该选项。
    提示: 默认情况下,在视口的左侧显示“场景资源管理器”面板,但如果已隐藏该面板,可以按 H 键显示该资源管理器的浮动版本。
  4. 在“场景资源管理器”面板中,展开 Chassis 对象(车身)的层次。

    请注意四个车轮和方向盘是如何成为底盘对象的子对象的。该层次对于 3D 汽车模型来说很常见。

  5. 在“场景资源管理器”对象列表中,单击以高亮显示 Wheel-FL

    现在,左前轮处于选中状态。

  6. 转至 “运动”面板并展开“指定控制器”卷展栏。

    默认动画控制器列表将以“资源管理器”形式显示为轨迹。

  7. 高亮显示“位置: 位置 XYZ”轨迹,然后单击 (指定控制器)。
  8. 在“指定位置控制器”对话框上,双击“位置列表”。
  9. 在“指定控制器”卷展栏 “位置: 位置列表”轨迹上,单击“+”图标展开位置列表。
  10. 单击“可用”轨迹,然后再次单击 (指定控制器)。
  11. 在“指定位置控制器”对话框上,双击“位置 XYZ”。

    在资源管理器中,已在第一个轨迹下创建了第二个“位置 XYZ: 位置”轨迹。此轨迹表示将根据子对象(左前轮)的本地位置控制 X、Y 和 Z 轴关键帧信息的控制器。

    下一步,您将重复上述过程,向左前轮的旋转轨迹指定列表控制器。

  12. 在轨迹的“指定控制器”卷展栏列表上,单击“旋转: Euler XYZ”并单击 (指定控制器)。
  13. 在“指定旋转控制器”对话框上,双击“旋转列表”。
  14. 在轨迹的“指定控制器”卷展栏列表上,通过单击其“+”图标展开“旋转: 列表”轨迹。
  15. 单击“可用”轨迹,然后单击 (指定控制器)。
  16. 在“指定旋转控制器”对话框上,双击“Euler XYZ”。

    将创建第二个“Euler XYZ”轨迹。此轨迹将根据左前轮的本地坐标控制 X、Y 和 Z 轴的旋转关键帧信息。

自动指定列表控制器:

    宏录制器是一个用来录制您在 3ds Max 中所执行的交互操作的简单脚本工具。该录制器将您的操作转换为可以重复使用的用于完成重复性任务的脚本。

    在前面的步骤中,您将位置和旋转列表控制器手动指定到雪佛兰汽车的单个车轮上。 现在您将使用宏录制器将列表控制器自动指定给其余三个车轮以及车身和方向盘,这样整个装备在动画中都将使用相同的坐标系。

  1. 转至 3ds Max 窗口的左下角,右键单击 MAXScript 区域,然后选择“打开侦听器窗口”。

    3ds Max 将打开“MAXScript 侦听器”对话框。

    提示: 在上半部,最初很难看到“宏录制器”窗格(背景为粉红色),请将拆分窗格的栏向下拖动,以便两个窗格的面积大致相等。您也可以调整此对话框的大小。
  2. 从菜单栏中,选择“宏录制器”“启用”。

    从此时开始,您在 3ds Max 中执行的几乎任何操作都将记录在脚本中。

  3. 在视口中,单击以选择汽车的左后轮(Wheel-RL 对象)。
  4. 重复上一过程的步骤 7 到 17,以将列表控制器指定给左后轮的位置和旋转。

    继续进行后面的操作时,请注意粉红色“宏录制器”区域是如何积累脚本数据的。

  5. 右键单击主工具栏上的空白区域(“选择集”下拉列表的下方是一个很方便的区域),然后从弹出菜单中选择“自定义”。
  6. 在“自定义用户界面”对话框上,确保“工具栏”选项卡处于活动状态,然后单击“新建”。
  7. 在“新建工具栏”对话框上,键入 myTools,然后单击“确定”。
  8. 关闭“自定义用户界面”对话框并将新的工具栏重新放置在“MAXScript 侦听器”窗口右边。
  9. 高亮显示脚本的最后四行,然后将其拖动并放入“myTools”工具栏中。

    3ds Max 将在工具栏上创建一个按钮。

  10. 右键单击新创建的按钮,然后选择“编辑按钮外观”。
  11. 在“编辑宏按钮”对话框上,选择“文本按钮”选项并在“标签”字段中键入 ListCon,然后单击“确定”。

    3ds Max 会将该按钮更改为文本按钮。

  12. 在“MAXScript 侦听器”窗口菜单栏上,选择“宏录制器”“启用”以禁用脚本记录。

    宏录制器停止记录您在 3ds Max 中执行的操作。

  13. 关闭“MAXScript 侦听器”窗口,然后调整“myTools”工具栏的大小直到完全显示“ListCon”标签。

    现在您可以使用“ListCon”工具将列表控制器快速指定给汽车模型的其余车轮。

为其余车轮、底盘和方向盘指定控制器:

  1. 在任意视口中,选择汽车的右前轮(Wheel-FR 对象)。
  2. 在“myTools”工具栏上,单击“ListCon”。

    在“运动”面板 “动画控制器”卷展栏上,展开“位置 XYZ”轨迹以显示由您刚创建的脚本指定的其中一个列表控制器。

  3. 选择模型中最后一个剩余车轮 Wheel-RR,然后再次单击“ListCon”。
  4. 对“Chassis”对象重复上一步。
  5. 对“SWheel”对象重复上一步。
    注: 一次只能将宏录制器脚本应用于一个对象,因此必须对每个要修改的对象单击一次“ListCon”按钮。

保存工作:

注: 您在此课程中创建的“myTools”工具栏现在可用于将来所有的 3ds Max 工作会话。

在下一课中,您将学习如何设置车轮旋转的动画。

下一节

旋转车轮