该教程将会介绍如何在运行时将动画从虚幻引擎5 Mannequin (Quinn) 重定向到MetaHuman,然后将该MetaHuman作为可操作的角色用于你的关卡。
该教程使用IK Rig腿部放置功能。添加动画的MetaHuman的腿部会动态适应地形。
需要的知识和设置
该页面要求你对于虚幻引擎的 动画蓝图 有基本的了解。
在你执行该页面描述的步骤之前,需要进行以下操作:
-
使用 第三人称模板 创建一个新的虚幻引擎项目。如果你不知道如何完成这一步,请参考虚幻引擎5文档的以下页面:
-
下载一个MetaHuman并导入到你的项目中。如果你不知道如何完成这一步,请参考以下页面:
工作流程
该工作流程包含三步:
-
创建可控制的MetaHuman蓝图。
-
创建并配置一个新的动画蓝图。
-
完成配置可控制的MetaHuman蓝图。
-
隐藏Quinn的网格体。
-
在游戏模式蓝图中将你的MetaHuman设为默认的Pawn类
创建可控制的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/(MetaHuman名称)
文件夹中,文件名为BP_(MetaHuman名称)
。该教程使用Ada预设,其蓝图位于
Content/MetaHumans/Ada
,名称为BP_Ada
。双击BP_Ada
蓝图来将其在蓝图编辑器中打开,然后切换到 视口(Viewport) 选项卡。 -
在
BP_Ada
蓝图中,选择根组件下的 全部 组件:-
Feet
-
Legs
-
Torso
-
Face
-
Hair
-
Eyebrows
-
Fuzz
-
Eyelashes
-
Mustache
-
Beard
要选择多个组件,点击第一个要选择的组件。然后按住 Shift 键,点击要选择的最后一个组件。
使用 Ctrl + C 键盘快捷键来复制选中的组件。
-
-
切换到
BP_MetaHumanCharacter
蓝图。在 组件(Components) 面板,点击 Mesh (CharacterMesh0) 组件,然后使用 Ctrl + V 键盘快捷键粘贴你在上一步中复制的组件。 -
继续,在 组件(Components) 面板中,选择并点击拖动你之前复制的 组件 来将其变为 Mesh (Character Mesh) 组件的子级。
-
点击拖动上一步移动的每一个 组件 来将其分配为对应的 网格体组件(Mesh Components) 的子级。完成后,你的层级结构应该和下图类似。
该窗口中各个组件的顺序并不重要,只要所有的组件都有正确的父级即可。
-
选择 Body、Legs、Feet、Face 和 Torso 组件(1)。然后在 细节(Details) 面板中,找到 变形(Transform) 部分。点击 位置(Location) 和 旋转(Rotation) 数值旁边的两个 重置(Reset) 按钮(2)来将这些数值设为0。
要选择多个不连续的组件,按住 Ctrl 键然后逐个点击要选择的每个组件。
目前你的蓝图仍然显示着Quinn的网格体和Ada重叠,我们会在接下来的步骤中将其修正。
创建一个新的动画蓝图
接下来现在你要创建一个动画蓝图并将其重定向,执行以下步骤:
-
从上一小节继续,在
BP_ThirdPersonCharacter
蓝图的 蓝图编辑器(Blueprint Editor) 中,点击 Body 组件来选中它(1)。然后在 细节(Details) 面板的 网格体(Mesh) 部分,找到 骨骼网格体(Skeletal Mesh) 属性并点击旁边的 浏览到资产(Browse to Asset)。这会在你的MetaHuman的身体骨骼网格体的位置打开内容浏览器。对于Ada,该网格体位于
Content/MetaHumans/Ada/Female/Medium/NormalWeight/Body
文件夹,其名称为f_med_nrw_body
。 -
右键点击
f_med_nrw_body
骨骼网格体,在菜单中选择 创建(Create) > 动画蓝图(Anim Blueprint)。将新建的蓝图命名为ABM_MHRuntimeRTG
。这样做会在同一个文件夹内创建几个额外的资产,不需要担心它们。
-
在 内容浏览器(Content Browser) 中,双击
ABM_MHRuntimeRTG
蓝图来将其打开。 -
在 动画图表(AnimGraph) 中右键点击,然后找到并创建一个 从网格体重定向姿势(Retarget Pose from Mesh) 节点。将该节点连接至 输出姿势(Output Pose) 节点,如下所示。
-
点击 从网格体重定向姿势(Retarget Pose from Mesh) 节点来选中它。然后在 细节(Details) 面板中,找到 重定向器资产(Retargeter Asset) 下拉菜单,选择 RTG_Mannequin 重定向资产。
-
编译(Compile) 并 保存(Save) 动画蓝图。
完成配置可控制的MetaHuman蓝图
还需要几个步骤来配置你创建的MetaHuman蓝图:
-
回到
BP_Ada
蓝图。在 函数(Functions) 面板中,点击 EnableMasterPose 函数,然后按下 Ctrl + C 来将其复制。 -
切换到
BP_MetaHumanCharacter
蓝图。点击 函数(Functions) 面板,然后按下 Ctrl + V 来粘贴 EnableMasterPose 函数。 -
切换到
BP_Ada
蓝图,在 函数(Functions) 面板中,双击 构建脚本(Construction Script) 来将其打开。按住Shift并逐个点击以下节点(或者左键点击并拖动来将其全部选中),然后按下 Ctrl + C 来将其复制:-
启用主姿势(Enable Master Pose) (全部三个)
-
脚部(Feet)
-
腿部(Legs)
-
躯干(Torso)
-
-
切换到
BP_MetaHumanCharacter
蓝图,在 函数(Functions) 面板中,双击 构建脚本(Construction Script) 来将其打开,然后按下 Ctrl + V 来粘贴你复制的节点。 -
将 构建脚本(Construction Script) 节点的输出引脚连接到第一个 启用主姿势(Enable Master Pose) 节点的输入引脚,如下所示。
-
仍然在
BP_MetaHumanCharacter
蓝图中,切换到视口,然后点击 Body 组件(1)来将其选中。在 细节(Details) 面板中,找到 动画(Animation) 部分(2),设置以下属性:-
动画模式(Animation Mode):使用动画蓝图
-
动画蓝图(Animation Blueprint): 找到并选择你之前在该教程中创建的
ABM_MHRuntimeRTG
动画蓝图。
-
隐藏Quinn的网格体
最后需要在 BP_MetaHumanCharacter
蓝图中隐藏Quinn网格体。要完成该步骤,进行以下操作:
-
在
BP_MetaHumanCharacter
蓝图中,点击 Mesh (CharacterMesh) 组件来将其选中。然后在 细节(Details) 面板中,修改以下属性:-
可见(Visible):取消选择该复选框。
-
可见度基于动画Tick选项(Visibility Based Anim Tick Option): 设为总是Tick姿势并刷新骨骼。
使用 细节(Details) 面板中的 搜索 框可以快速找到属性。
-
-
编译(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。该MetaHuman有空闲、奔跑和跳跃动画。其脚部会自动适应地形。