该示例工作流描述如何使用 HumanIK 和动画层将动画从一个角色非破坏性地重定目标到另一个角色,然后编辑重定目标的动画而无需烘焙即可查看结果。若要在 Maya 中尝试执行该工作流,您可以从“Visor”窗口加载样例文件。
对于该示例工作流,您将使用在“Visor”窗口中提供的其中一个运动捕捉样例文件。
) 并从显示的菜单中选择“导入 Maya 文件”(Import Maya File)。)
dance1 角色在场景中心转为其绑定姿势。对于该角色,绑定姿势是一个标准的 T 形站姿,它对于设置 HumanIK 的角色是必需的。有关详细信息,请参见为 HumanIK 准备骨架。
创建新的 HIK 角色。
这将创建一个新的角色(默认名称为 Character1),您将使用它来定义您的角色的结构。使用“角色化工具”(Characterization Tool)映射角色可确保 Maya 了解角色的结构,并能够精确地将角色的动画重定目标到其他角色。
“角色 > 重命名”(Character > Rename)并将角色重命名为 DanceSource。
例如,双击“体形”视图中的 LeftUpLeg 节点,然后单击场景中 DanceSource 角色的 l_thigh 骨骼。
LeftUpLeg 节点将变为绿色,以指示有效的映射。由于“角色化工具”(Characterization Tool)中的“镜像匹配”(Mirror Matching)
默认为启用,因此 RightUpLeg 节点还会根据角色身体左右两侧的 standard l_ 和 r_ bone 命名自动进行映射。
例如,选择 root 关节,然后在“体形”(Figure)视图的 Hips 节点上单击鼠标右键 (
)。
| 基础(必需)骨骼 | dance1 角色关节 |
|---|---|
| Hips | root |
| LeftUpLeg | l_thigh |
| LeftLeg | l_knee |
| LeftFoot | l_foot |
| RightUpLeg | r_thigh |
| RightLeg | r_knee |
| RightFoot | r_foot |
| Spine | spine1 |
| LeftArm | l_shoulder |
| LeftForeArm | l_elbow |
| LeftHand | l_hand |
| RightArm | r_shoulder |
| RightForeArm | r_elbow |
| RightHand | r_hand |
| Head | head |
一旦您映射所有必需的骨骼后,“体形”(Figure)视图中的验证状态指示器就会变为绿色。(请参见验证状态。)
。
创建新 HIK 角色定义和默认骨架,然后单击
。
由于没有调整的必要,您可以立即锁定该新角色定义。该角色将是您的目标角色,用于接收重定目标动画。
骨架显示在场景中,您还可以切换到“Hypergraph”以查看 HIK 关节的默认命名约定。在该示例中,新 HIK 角色称为 Character2。
“骨架 > 重命名”(Skeleton > Rename),将角色重命名为 DanceTarget。
“源 > DanceSource”(Source > DanceSource)。
(场景中所有可用的 HIK 角色会自动列在“源”(Source)菜单中。)
目标角色(骨架)捕捉到源角色,一个包含重定目标动画的新层将自动添加到“动画层编辑器”(Animation Layer Editor)。默认情况下,该层的名称为 RetargetLayer。
控制装备 > 添加到新动画层”(Control Rig > Add to new anim layer)将目标角色的控制装备对象添加到新的动画层。
。
当您播放该跳舞动画时,目标角色仍跟随重定目标动画,而腕部位置从源角色稍微偏移。
举例来说,如果您发现源角色和目标角色大小的差异导致目标角色的手臂在重定目标动画的过程中穿透其身体,您可以使用类似的步骤。您可以将“达到平移”(Reach Translation)设定为 1,然后设置手臂效应器的关键帧,以便在源手臂动画和目标角色的动画之间创建轻微偏移。