在将某个节点放置到层次中另一节点下方,以使该节点成为层次中其上方节点(其父节点)的子节点时,会使用“建立父子关系”这一术语。
在以下步骤中,您将向骨架层次中添加机械臂模型的曲面。该过程会将模型的曲面链接到骨架层次中,从而有可能对模型设定姿势和动画,就像它是真正的机械臂一样。使用“Hypergraph”选择节点可以更好地将这一过程以及随之产生的层次关系可视化。
将角色模型合并到骨架层次的一种更常用技术称为“蒙皮”或“绑定”。“绑定蒙皮”(Bind Skin)工具将曲面组件和关节一起合并到层次中,同时还考虑角色(膝盖、腰、颈部、肘部等)弯曲或伸缩时可能发生的任何变形。Maya 提供了多种蒙皮方法。有关蒙皮的教程,请参见手册的“角色设置”一章中的“平滑蒙皮”课程。
将机械臂设定为骨架的子对象
在“Hypergraph”菜单中,选择“视图 > 框显全部”(View > Frame All)。
“Hypergraph”将显示场景的所有节点。
在“Hypergraph”中,选择名为 ArmEnd 的节点,然后按住 Shift 键并选择名为 joint4 的节点。
选择的顺序很重要。首先选择子节点,然后按住 Shift 键并选择将变为父节点的项。
在主菜单中,选择“编辑 > 父对象”(Edit > Parent)(热键 P)。
在“Hypergraph”中,joint4 现在在骨架层次中是 ArmEnd 节点的父节点。
对下列项重复建立父子关系的过程:
将 pin3 设定为 joint3 的子对象
将 pin2 设定为 joint2 的子对象
将 pin1 设定为 joint1 的子对象
新的层次应该如下图所示。
在接下来的步骤中,SwivelBase 将变为新层次的父节点,这样整个手臂集合将绕基础组件的中心回旋。
在“Hypergraph”中,选择名为 joint1 的节点,然后按住 Shift 键并选择名为 SwivelBase 的节点。
在主菜单中,选择“编辑 > 父对象”(Edit > Parent)(热键 P)。
在侧视图菜单中,选择“面板 > 布局 > 两个窗格并列放置”(Panels > Layouts > Two panes side by side)。
面板将以并排结构显示。
根据需要推拉“Hypergraph”视图,以便查看新层次。
在“Hypergraph”中,选择名为 SwivelBase 的节点。
在侧视图中,请注意机械臂模型和骨架都已处于选定状态。
SwivelBase 是整个层次的父节点(或称根节点)。如果旋转 SwivelBase,该节点下的其他所有对象(包含骨架的整个手臂)都将旋转。
选择名为 joint3 的节点。
请注意机械臂的最后两个组件处于选定状态。如果旋转 joint3,则只有层次中该节点下方的组件受影响。
选择名为 pin2 的节点。
请注意只有模型的一个隔离分段处于选定状态。选择 pin2 节点后,不会选择其他组件或关节。如果在 pin2 位置上旋转模型,将只有 pin2 处的组件孤立于层次中的其余部分发生旋转,因为它在层次中处于较低的位置。
现在可以选择并旋转骨架关节,以便将机械臂作为一个单位设定姿势,然后即可设定关键帧以便对机械臂设定动画。使用关节旋转对角色设定姿势的这种做法称为“正向运动学”(Forward Kinematics) (FK)。使用 FK 可以在设定姿势时实现精确的控制,但是选择关节并将每个关节旋转到所需位置会是一个耗时的过程。
当动画更侧重于将层次中的末关节(例如,手或脚)放置在特定位置的这一目标时,使用反向运动学可以更高效地对骨架设定姿势。