示例工作流:非破坏性重定目标
该示例工作流描述如何使用 HumanIK 和动画层将动画从一个角色非破坏性地重定目标到另一个角色,然后编辑重定目标的动画而无需烘焙即可查看结果。若要在 Maya 中尝试执行该工作流,您可以从“Visor”窗口加载样例文件。
概述
1.设置源角色。
2.设置目标角色。
3.从源角色重定目标到目标角色。
4.使用动画层在重定目标的动画上设置关键帧。
5.使用 IK 更改重定目标的动画。
设置源角色
对于该示例工作流,您将使用在“Visor”窗口中提供的其中一个运动捕捉样例文件。
设置源角色
1.打开“Visor”(“窗口 > 常规编辑器 > Visor”(Window > General Editors > Visor))。
2.在“Visor”窗口中,切换到“Mocap 示例”(Mocap Examples)选项卡。
3.导入 dance1 示例文件。(在文件上单击鼠标右键 () 并从显示的菜单中选择“导入 Maya 文件”(Import Maya File)。)
4.关闭“Visor”窗口并缩小视图(如有必要),直到您可以看到场景中的 dance1 角色。
5.选择角色的蒙皮,然后转到绑定姿势。(从主菜单栏中选择“蒙皮 > 转到绑定姿势”(Skin > Go To Bind Pose)。)
dance1 角色在场景中心转为其绑定姿势。对于该角色,绑定姿势是一个标准的 T 形站姿,它对于设置 HumanIK 的角色是必需的。有关详细信息,请参见为 HumanIK 准备骨架。
6.在“角色化工具”(“骨架 > HumanIK > 角色化工具”(Skeleton > HumanIK > Characterization Tool))中,单击 创建新的 HIK 角色。
这将创建一个新的角色(默认名称为 Character1),您将使用它来定义您的角色的结构。使用“角色化工具”(Characterization Tool)映射角色可确保 Maya 了解角色的结构,并能够精确地将角色的动画重定目标到其他角色。
7.选择“角色 > 重命名”(Character > Rename)并将角色重命名为 DanceSource。
8.执行下列操作之一以开始映射该角色的结构: •从“角色化工具”(Characterization Tool)转到您的骨架:双击“体形”(Figure)视图中的一个单元(拾取后单元变为蓝色),然后单击场景中对应的骨骼。
例如,双击“体形”视图中的 LeftUpLeg 节点,然后单击场景中 DanceSource 角色的 l_thigh 骨骼。
LeftUpLeg 节点将变为绿色,以指示有效的映射。由于“角色化工具”(Characterization Tool)中的“镜像匹配”(Mirror Matching)默认为启用,因此 RightUpLeg 节点还会根据角色身体左右两侧的 standard l_ 和 r_ bone 命名自动进行映射。
提示
您还可以在“大纲视图”(Outliner)或“Hypergraph”中选择关节。
•从您的骨架转到“角色化工具”(Characterization Tool):选择骨骼,然后在“体形”(Figure)中对应的单元上单击鼠标右键,然后选择“指定选定骨骼”(Assign Selected Bone)。
例如,选择 root 关节,然后在“体形”(Figure)视图的 Hips 节点上单击鼠标右键 ()。
完成后,dance1 角色的映射如下所示:
基础(必需)骨骼 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
注意
对于该角色,您没有映射“引用”(Reference)对象,但是强烈建议您为自己的角色映射一个“引用”(Reference)对象。
一旦您映射所有必需的骨骼后,“体形”(Figure)视图中的验证状态指示器就会变为绿色。(请参见验证状态。)
提示
如果您设置了自己的角色并根据 HIK 命名约定命名了关节,您可以单击“名称匹配”(Name Matching)图标以应用 HIK 命名模板并使 Maya 自动将您角色的关节匹配到“角色化工具”(Characterization Tool)中的关节名称。如果您对 DanceSource 角色单击“名称匹配”(Name Matching),Maya 将仅匹配头部关节,因为头部是唯一具有匹配命名约定的关节。
9.单击锁定图标 。
现在,您已映射了基础(必需)关节,角色定义视为有效并且可以锁定。
相关主题
•绑定姿势
设置目标角色
设置目标角色
1.打开“骨架生成器”窗口(“骨架 > HumanIK > 骨架生成器”(Skeleton > HumanIK > Skeleton Generator))。
2.单击新图标 创建新 HIK 角色定义和默认骨架,然后单击 。
由于没有调整的必要,您可以立即锁定该新角色定义。该角色将是您的目标角色,用于接收重定目标动画。
骨架显示在场景中,您还可以切换到“Hypergraph”以查看 HIK 关节的默认命名约定。在该示例中,新 HIK 角色称为 Character2。
3.选择“骨架 > 重命名”(Skeleton > Rename),将角色重命名为 DanceTarget。
现在您已设置第二个 HIK 角色,随时可以接收重定目标动画。
从源角色重定目标到目标角色
从源角色重定目标到目标角色
1.打开“角色控制”(“骨架 > HumanIK > 角色控制”(Skeleton > HumanIK > Character Controls))。
2.从当前角色菜单中,选择目标角色 (DanceTarget)。
3.选择 “源 > DanceSource”(Source > DanceSource)。
(场景中所有可用的 HIK 角色会自动列在“源”(Source)菜单中。)
目标角色(骨架)捕捉到源角色,一个包含重定目标动画的新层将自动添加到“动画层编辑器”(Animation Layer Editor)。默认情况下,该层的名称为 RetargetLayer。
4.选择“ 控制装备 > 添加到新动画层”(Control Rig > Add to new anim layer)将目标角色的控制装备对象添加到新的动画层。
注意若要将控制装配添加到现有的动画层(例如 RetargetLayer),请在“动画层编辑器”(Animation Layer Editor)中选择该层,然后在“角色控制”(Character Controls)中选择“控制装配 > 添加到动画层:”(Control Rig > Add to animLayer:)<layerName>”。
5.在“动画层编辑器”(Animation Layer Editor)中,将新层重命名为 ControlRigLayer。
注意 您可以使用“角色控制”(Character Controls)一侧的选项卡访问动画层编辑器。切换到通道盒/层编辑器面板,然后选择底部的“动画”(Anim)选项卡。
6.播放场景以查看应用到目标角色的重定目标动画。
注意
有关 Maya 中动画层的详细信息,请参见什么是动画层?和理解分层动画。
重定目标动画顶部的关键帧
在重定目标动画顶部设置关键帧
1.若要为这些步骤准备控制装备,请在“角色控制”(Character Controls)中选择左踝和右踝效应器并将其“达到平移”(Reach Translation)值设定为 0。
默认情况下已对这些效应器启用达到,这可阻止您在以下步骤中达到想要的姿势。
2.转到第 32 帧并选择 DanceTarget 控制装备的髋部效应器。
在这一帧,角色即将跳起。
3.确保在“动画层编辑器”(Animation Layer Editor)中选择了 ControlRigLayer 层,然后按 S 键设置关键帧。
关键帧设置在 ControlRigLayer 上。
4.转到第 40 帧(在这一帧,角色处于跳起的高度),然后执行以下操作: •在 Y 轴上将 DanceTarget 角色移至更高的位置。(选择髋部效应器后,使用移动工具将整个角色平移至更高位置。)
•设置关键帧。
5.转至第 50 帧,然后单击“动画层编辑器”(Animation Layer Editor)中的零关键帧图标 。
这会将髋部效应器平移值设定为零(匹配源动画),并设置关键帧。
6.播放您的动画。
现在,DanceTarget 角色在第 32 帧和第 50 帧之间跳得更高。
使用 IK 更改重定目标的动画
使用 IK 效应器调整重定目标动画
1.转到第 1 帧,然后在“角色控制”(Character Controls)中选择 DanceTarget 角色的左腕效应器。
2.在“HumanIK 控制”(HumanIK Controls)中,将效应器的“达到平移”(Reach Translation)值设定为 1。
将“达到平移”(Reach Translation)设置为 1 会将效应器设定为使用完全 IK 解算。
3.调整腕部效应器的位置,使其从源角色腕部稍微偏移,然后设置关键帧。
当您播放该跳舞动画时,目标角色仍跟随重定目标动画,而腕部位置从源角色稍微偏移。
举例来说,如果您发现源角色和目标角色大小的差异导致目标角色的手臂在重定目标动画的过程中穿透其身体,您可以使用类似的步骤。您可以将“达到平移”(Reach Translation)设定为 1,然后设置手臂效应器的关键帧,以便在源手臂动画和目标角色的动画之间创建轻微偏移。
相关主题
•重定目标工作流