此教程将介绍如何使用动画蓝图将动画从虚幻引擎5 Mannequin (Quinn)重定向到MetaHuman,然后将该MetaHuman用作关卡中的可操作角色。
此方法 不 使用IK Rig腿部位置功能。带动画的MetaHuman腿部无法动态地贴合地貌。如果你想使用IK Rig功能,请参考运行时动画重定向页面。
所需知识和准备
本文需要你对虚幻引擎的动画蓝图有基本的了解。
在可以执行本页面简要介绍的步骤之前,请先执行以下操作:
-
基于第三人称模板创建新的虚幻引擎项目。如果在完成此步骤时需要帮助,请参阅虚幻引擎5文档中的以下页面:
-
下载MetaHuman并将其导入到项目。如果在完成此步骤时需要帮助,请参阅以下页面:
工作流程
此工作流包含以下步骤:
-
将Quinn动画蓝图重定向到MetaHuman的骨骼网格体。
-
创建可控制的MetaHuman蓝图。
-
将你的MetaHuman设置为游戏模式蓝图中的默认Pawn类。
-
修复腿部动画。
重定向Quinn动画蓝图
第一步是将Quinn动画蓝图重定向到MetaHuman的骨骼网格体,此蓝图控制Quinn的动画。
执行以下步骤:
-
在 内容浏览器(Content Browser) 中,找到
ABP_Quinn
动画蓝图。你可以使用搜索栏,或找到Content/Characters/Mannequins/Animations
文件夹。 -
右键点击
ABP_Quinn
动画蓝图,然后从上下文菜单中,选择 重定向动画资产(Retarget Animation Assets) > 复制和重定向动画蓝图(Duplicate and Retarget Animation Blueprint) 。 -
在 IK重定向器(IK Retargeter) 部分中,点击下拉菜单,然后选择 RTG_Mannequin 资产。
这会使用Manny骨骼网格体来填充 源骨骼网格体(Source Skeletal Mesh) 和 目标骨骼网格体(Target Skeletal Mesh) 预览。
-
点击预览下面的 目标骨骼网格体(Target Skeletal Mesh) 下拉菜单,然后选择与你的MetaHuman对应的身体网格体。
请注意,所有骨骼网格体都遵循相同的命名规范:
gender-presentation_height_weight_mesh-purpose
.本教程使用 Bryan 预设,其属性如下所示:- gender-presentation: m
- height: med
- weight: nrw
身体网格体具有
_body
后缀。对于此教程,你要查找的网格体名为
m_medium_nrw_body
。在下拉菜单中搜索并选择它。 -
(可选)为重定向的资产配置额外的选项:
- 输入要添加到新资产文件名的 前缀(Prefix) 和/或 后缀(Suffix) 。
- 点击 文件夹(Folder) 选项旁边的 更改(Change) 按钮,然后浏览到你要创建重定向资产的路径。
-
点击 重定向(Retarget) 按钮。
你将在右下角看到消息:“
{Number}
个资产已重定向到新骨骼{mesh-name}
。请在输出中查看详细信息("{Number}
assets were retargeted to new skeleton
{mesh-name}`. See Output for details.)。”此消息确认重定向已成功。你也可以在内容浏览器中看到新的重定向的资产。
-
在 内容浏览器(Content Browser) 中,点击 全部保存(Save All) 按钮来保存新创建的资产。
记住在此步骤中创建新 动画蓝图(Animation Blueprint) 资产的名称和位置。稍后需要用到此信息。
对于本教程,文件保存在 Content
文件夹中,文件名未更改。
创建可协作的MetaHuman蓝图
接下来,创建可控制的MetaHuman蓝图。到本教程结束时,此蓝图将成为你使用MetaHuman替换掉Quinn以成为关卡中可操作角色的方法。
下方工作流要求你在两个蓝图编辑器之间切换。在执行步骤之前,确保打开了正确的蓝图编辑器。
执行以下步骤:
-
在 内容浏览器(Content Browser) 中,找到
BP_ThirdPersonCharacter
蓝图类。此蓝图位于Content/ThirdPerson/Blueprints
文件夹中。 -
右键点击
BP_ThirdPersonCharacter
蓝图,然后在上下文菜单中选择 复制(Duplicate) 。 -
将复制的蓝图命名为
BP_MetaHumanCharacter
。 -
双击
BP_MetaHumanCharacter
蓝图,在 蓝图编辑器(Blueprint Editor) 中将其打开,并打开 视口(Viewport) 选项卡。新创建的BP_MetaHuman角色蓝图目前仍然使用Quinn骨骼网格体。我们将在后续步骤宏更改此设置。
-
返回到 内容浏览器(Content Browser) ,找到你的MetaHuman的蓝图。此蓝图位于
Content/MetaHumans/(MetaHumanName)
文件夹中,名为BP_(MetaHumanName)
。此教程使用Bryan预设,其蓝图位于
Content/MetaHumans/Bryan
,名为BP_Bryan
。双击BP_Bryan
蓝图,在 蓝图编辑器 中将其打开,然后切换到 视口(Viewport) 选项卡。 -
在
BP_Bryan
蓝图的 蓝图编辑器(Blueprint Editor) 中,点击 身体(Body) 组件(1)。然后,在 细节 面板中,找到 网格体(Mesh) 分段(2),然后找到 骨骼网格体(Skeletal Mesh) 属性。点击 浏览到资产(Browse to Asset) 按钮(3)。点击查看大图。
点击此按钮将浏览到内容浏览器中此MetaHuman的身体骨骼网格体。
-
切换到
BP_MetaHumanCharacter
的 蓝图编辑器(Blueprint Editor) 中,然后点击 身体(Body) 组件(1)。然后,在 细节 面板中,找到 网格体(Mesh) 分段(2),然后找到 骨骼网格体(Skeletal Mesh) 属性。点击 使用来自内容浏览器的选定资产(Use Selected Asset from Content Browser) 按钮(3)。点击查看大图。
-
切换到
BP_Bryan
蓝图的 蓝图编辑器(Blueprint Editor) 。在组件(**Components)选项卡中,选择以下组件:- 脚部(Feet)
- 腿部(Leg)
- 躯干(Torso)
- 面部(Face)
- 毛发(Hair)
- 眉毛(Eyebrows)
- 绒毛(Fuzz)
- 睫毛(Eyelashes)
- 上嘴唇胡须(Mustache)
- 下巴胡须(Beard)
要选择多个组件,请点击要选择的第一个组件。然后,按住 Shift 键,点击要选择的最后一个组件。
使用 Ctrl + C 键盘快捷方式复制你选择的组件。复制(Copy) 。
-
切换到
BP_MetaHumanCharacter
的 蓝图编辑器(Blueprint Editor) 。在 组件(Components) 面板中,点击 网格体(角色网格体0)(Mesh (CharacterMesh0)) 组件,然后使用 Ctrl + V 键盘快捷方式来粘贴你在上一步骤中复制的组件。 -
接着上一步骤,在 组件(Component) 面板中选择此前复制的组件,然后点击并将其作为子节点拖动到相应的网格体组件下。完成后的层级看起来应该如以下屏幕截图所示。
组件在此窗口中的顺序不重要,只要所有组件具有正确的父节点即可。
-
选择 腿部(Legs) 、 脚部(Feet) 、 面部(Face) 和 躯干(Torso) 组件(1)。然后,在“细节(Details)”面板中,找到 变换(Transform) 分段。点击 位置(Location) 和 旋转(Rotation) 值旁边的两个 重置(Reset) 按钮(2),将这些值重置为零。
点击查看大图。
要选择多个非连续的组件,请按住 Ctrl 键并用鼠标左键点击要选择的每个组件。
-
选择选择 网格体(Mesh) 组件。然后,在“细节(Details)”面板中,找到 动画(Animation) 分段,然后配置以下属性:
- 动画模式(Animation Mode):将此值设置为 使用动画蓝图(Use Animation Blueprint) 。
- 动画类(Animation Class):选择你在上文中创建的
ABP_Quinn
动画蓝图。
-
切换到
BP_Bryan
蓝图的 蓝图编辑器 窗口。在 函数 面板中,点击 EnableMasterPose 函数,然后点击 Ctrl + C 复制它。点击查看大图。
-
切换到
BP_MetaHumanCharacter
蓝图。在 函数 面板内点击左键,然后使用 Ctrl + V 粘贴你在上一步中复制的 EnableMasterPose 函数。 -
继续上一步,在
BP_MetaHumanCharacter
蓝图中,双击 EnableMasterPose 函数打开它。找到位于蓝图最右侧的 Set Master Component 节点。如果你现在编译蓝图,会收到一个错误消息:“无法找到与Body相关的属性”。我们将在下一步骤中解决这个问题。
-
在 组件 窗口中,将 Mesh (CharacterMesh) 组件拖入蓝图中。这会创建一个 Mesh 节点。点击并拖动 Mesh 节点的输出引脚,将其连接到 Set Master Pose Component 节点的 New Master Bone Component 属性。这会 Body 节点和 Set Master Pose Component 节点之间的现有连接。
下面的视频展示了该过程。
-
切换到
BP_Bryan
蓝图。在 函数 面板中,双击 构造脚本 打开它。按住Shift键单击以下节点(或拖选它们),然后按 Ctrl + C 复制它们。- Enable Master Pose (所有三个)
- Feet
- Legs
- Torso
-
切换到
BP_MetaHumanCharacter
蓝图。在 函数 面板中,双击 构造脚本 打开它,然后按 Ctrl + V 粘贴你复制的节点。 -
将 构造脚本 节点的输出引脚连到第一个 Enable Master Pose 节点的输入,如下所示。
-
编译(Compile) 并 保存(Save) 蓝图。
将你的MetaHuman设置为默认Pawn类
接下来,需要分配 BP_MetaHumanCharacter
蓝图作为当前游戏模式的 默认Pawn类(Default Pawn Class)。在游戏开始时,这会要求你的游戏使用你的MetaHuman作为可操作性角色。
执行以下步骤:
-
在 内容浏览器(Content Browser) 中找到
Content/ThirdPerson/Blueprints
文件夹。 -
双击
BP_ThirdPersonGameMode
蓝图将其打开。 -
将 默认Pawn类(Default Pawn Class) 属性设置为
BP_MetaHuman Character
。 -
编译(Compile) 并 保存(Save) 蓝图。
修复腿部动画
此时如果在虚幻编辑器中运行游戏,将会发现MetaHuman的腿固定在地面上。为了解决这个问题,请按照下列步骤操作:
-
返回到你在上方 重定向Quinn动画蓝图(Retarget the Quinn Animation Blueprint) 分段中创建的动画蓝图文件,然后打开
ABP_Manny
蓝图。之所以要求在
ABP_Manny
蓝图(而非ABP_Quinn
)中工作,因为前者是后者的父类,而后者将继承父类的内容。 -
在 我的蓝图(My Blueprint) 面板中,双击 AnimGraph 动画图将其打开。
-
在 AnimGraph 视图中,找到 Control Rig 节点。按住 Alt 键,用鼠标左键点击传入和传出连接引脚(显示在下方屏幕截图中)以断开连接。
-
将 插槽 ‘Slot ‘DefaultSlot’ 节点的输出引脚连接到 Output Pose 节点的输入引脚,如下所示。
-
编译(Compile) 并 保存(Save) 蓝图。
最终效果
在运行游戏时,玩家角色现在是你的MetaHuman。MetaHuman具有静止、奔跑和跳跃的动画。