将模型设定为骨架层次的子对象

 
 
 

在将某个节点放置到层次中另一节点下方,以使该节点成为层次中其上方节点(其父节点)的子节点时,会使用“建立父子关系”这一术语。

在以下步骤中,您将向骨架层次中添加机械臂模型的曲面。该过程会将模型的曲面链接到骨架层次中,从而有可能对模型设定姿势和动画,就像它是真正的机械臂一样。使用“Hypergraph”选择节点可以更好地将这一过程以及随之产生的层次关系可视化。

注意下面介绍的建立父子关系过程适用于机械臂(没有发生交互式弯曲或变形),并提供了一种将已建模对象添加到骨架层次的技术。

将角色模型合并到骨架层次的一种更常用技术称为“蒙皮”或“绑定”“绑定蒙皮”(Bind Skin)工具将曲面组件和关节一起合并到层次中,同时还考虑角色(膝盖、腰、颈部、肘部等)弯曲或伸缩时可能发生的任何变形。Maya 提供了多种蒙皮方法。有关蒙皮的教程,请参见手册的“角色设置”一章中的“平滑蒙皮”课程

将机械臂设定为骨架的子对象

  1. “Hypergraph”菜单中,选择“视图 > 框显全部”(View > Frame All)

    “Hypergraph”将显示场景的所有节点。

  2. “Hypergraph”中,选择名为 ArmEnd 的节点,然后按住 Shift 键并选择名为 joint4 的节点。

    选择的顺序很重要。首先选择子节点,然后按住 Shift 键并选择将变为父节点的项。

  3. 在主菜单中,选择“编辑 > 父对象”(Edit > Parent)(热键 P)。

    “Hypergraph”中,joint4 现在在骨架层次中是 ArmEnd 节点的父节点。

  4. 对下列项重复建立父子关系的过程:
    • 将 pin3 设定为 joint3 的子对象
    • 将 pin2 设定为 joint2 的子对象
    • 将 pin1 设定为 joint1 的子对象

    新的层次应该如下图所示。

    在接下来的步骤中,SwivelBase 将变为新层次的父节点,这样整个手臂集合将绕基础组件的中心回旋。

  5. “Hypergraph”中,选择名为 joint1 的节点,然后按住 Shift 键并选择名为 SwivelBase 的节点。
  6. 在主菜单中,选择“编辑 > 父对象”(Edit > Parent)(热键 P)。
  7. 在侧视图菜单中,选择“面板 > 布局 > 两个窗格并列放置”(Panels > Layouts > Two panes side by side)

    面板将以并排结构显示。

  8. 根据需要推拉“Hypergraph”视图,以便查看新层次。
  9. “Hypergraph”中,选择名为 SwivelBase 的节点。

    在侧视图中,请注意机械臂模型和骨架都已处于选定状态。

    SwivelBase 是整个层次的父节点(或称根节点)。如果旋转 SwivelBase,该节点下的其他所有对象(包含骨架的整个手臂)都将旋转。

  10. 选择名为 joint3 的节点。

    请注意机械臂的最后两个组件处于选定状态。如果旋转 joint3,则只有层次中该节点下方的组件受影响。

  11. 选择名为 pin2 的节点。

    请注意只有模型的一个隔离分段处于选定状态。选择 pin2 节点后,不会选择其他组件或关节。如果在 pin2 位置上旋转模型,将只有 pin2 处的组件孤立于层次中的其余部分发生旋转,因为它在层次中处于较低的位置。

现在可以选择并旋转骨架关节,以便将机械臂作为一个单位设定姿势,然后即可设定关键帧以便对机械臂设定动画。使用关节旋转对角色设定姿势的这种做法称为“正向运动学”(Forward Kinematics) (FK)。使用 FK 可以在设定姿势时实现精确的控制,但是选择关节并将每个关节旋转到所需位置会是一个耗时的过程。

当动画更侧重于将层次中的末关节(例如,手或脚)放置在特定位置的这一目标时,使用反向运动学可以更高效地对骨架设定姿势。

注意

将一种技术或另一种技术规定为在 Maya 中设定动画时实现所需结果的唯一方法并不是一件轻而易举的事。必须根据某种技术提供的选项决定这种特定技术是否适用于特定情形。能够以多种方式创造性地组合使用动画技术。