虚拟数字人网

在运行时将动画重定向至MetaHuman

admin 技术前瞻 2022-08-24 15:49:03
本页面的内容

该教程将会介绍如何在运行时将动画从虚幻引擎5 Mannequin (Quinn) 重定向到MetaHuman,然后将该MetaHuman作为可操作的角色用于你的关卡。

该教程使用IK Rig腿部放置功能。添加动画的MetaHuman的腿部会动态适应地形。

需要的知识和设置

该页面要求你对于虚幻引擎的 动画蓝图 有基本的了解。

在你执行该页面描述的步骤之前,需要进行以下操作:

工作流程

该工作流程包含三步:

  1. 创建可控制的MetaHuman蓝图。

  2. 创建并配置一个新的动画蓝图。

  3. 完成配置可控制的MetaHuman蓝图。

  4. 隐藏Quinn的网格体。

  5. 在游戏模式蓝图中将你的MetaHuman设为默认的Pawn类

创建可控制的MetaHuman蓝图

首先,创建可控制的MetaHuman蓝图。在该教程结束时,你将通过该蓝图来用MetaHuman替换Quinn作为关卡中的可操作角色。

以下工作流程要求你在两个蓝图编辑器中切换。在执行每个步骤之前确保你打开的是正确的蓝图编辑器。

执行以下步骤:

  1. 内容浏览器(Content Browser) 中,找到 BP_ThirdPersonCharacter 蓝图类。该蓝图位于 Content/ThirdPerson/Blueprints 文件夹。

  2. 右键点击 BP_ThirdPersonCharacter 蓝图,从菜单中选择 复制(Duplicate)

  3. 将复制的蓝图命名为 BP_MetaHumanCharacter

  4. 双击 BP_MetaHumanCharacter 蓝图来将其在 蓝图编辑器(Blueprint Editor) 中打开,然后切换到 视口(Viewport) 选项卡。

    Quinn角色网格体

    新创建的BP_MetaHuman角色蓝图目前还使用着Quinn的骨骼网格体。我们会在接下来的步骤中进行更改。

  5. 返回 内容浏览器(Content Browser) 并找到你的MetaHuman的蓝图。该蓝图位于 Content/MetaHumans/(MetaHuman名称) 文件夹中,文件名为 BP_(MetaHuman名称)

    该教程使用Ada预设,其蓝图位于 Content/MetaHumans/Ada ,名称为 BP_Ada。双击 BP_Ada 蓝图来将其在蓝图编辑器中打开,然后切换到 视口(Viewport) 选项卡。

    Ada MetaHuman蓝图

  6. BP_Ada 蓝图中,选择根组件下的 全部 组件:

    • Feet

    • Legs

    • Torso

    • Face

    • Hair

    • Eyebrows

    • Fuzz

    • Eyelashes

    • Mustache

    • Beard

    要选择多个组件,点击第一个要选择的组件。然后按住 Shift 键,点击要选择的最后一个组件。

    使用 Ctrl + C 键盘快捷键来复制选中的组件。

  7. 切换到 BP_MetaHumanCharacter 蓝图。在 组件(Components) 面板,点击 Mesh (CharacterMesh0) 组件,然后使用 Ctrl + V 键盘快捷键粘贴你在上一步中复制的组件。

  8. 继续,在 组件(Components) 面板中,选择并点击拖动你之前复制的 组件 来将其变为 Mesh (Character Mesh) 组件的子级。

  9. 点击拖动上一步移动的每一个 组件 来将其分配为对应的 网格体组件(Mesh Components) 的子级。完成后,你的层级结构应该和下图类似。

    组件层级结构

    该窗口中各个组件的顺序并不重要,只要所有的组件都有正确的父级即可。

  10. 选择 BodyLegsFeetFaceTorso 组件(1)。然后在 细节(Details) 面板中,找到 变形(Transform) 部分。点击 位置(Location)旋转(Rotation) 数值旁边的两个 重置(Reset) 按钮(2)来将这些数值设为0。

    重置组件变形

    点击查看大图。

    要选择多个不连续的组件,按住 Ctrl 键然后逐个点击要选择的每个组件。

目前你的蓝图仍然显示着Quinn的网格体和Ada重叠,我们会在接下来的步骤中将其修正。

创建一个新的动画蓝图

接下来现在你要创建一个动画蓝图并将其重定向,执行以下步骤:

  1. 从上一小节继续,在 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

  2. 右键点击 f_med_nrw_body 骨骼网格体,在菜单中选择 创建(Create) > 动画蓝图(Anim Blueprint)。将新建的蓝图命名为 ABM_MHRuntimeRTG

    这样做会在同一个文件夹内创建几个额外的资产,不需要担心它们。

  3. 内容浏览器(Content Browser) 中,双击 ABM_MHRuntimeRTG 蓝图来将其打开。

  4. 动画图表(AnimGraph) 中右键点击,然后找到并创建一个 从网格体重定向姿势(Retarget Pose from Mesh) 节点。将该节点连接至 输出姿势(Output Pose) 节点,如下所示。

    连接从网格体重定向姿势节点和输出姿势节点

  5. 点击 从网格体重定向姿势(Retarget Pose from Mesh) 节点来选中它。然后在 细节(Details) 面板中,找到 重定向器资产(Retargeter Asset) 下拉菜单,选择 RTG_Mannequin 重定向资产。

  6. 编译(Compile)保存(Save) 动画蓝图。

完成配置可控制的MetaHuman蓝图

还需要几个步骤来配置你创建的MetaHuman蓝图:

  1. 回到 BP_Ada 蓝图。在 函数(Functions) 面板中,点击 EnableMasterPose 函数,然后按下 Ctrl + C 来将其复制。

  2. 切换到 BP_MetaHumanCharacter 蓝图。点击 函数(Functions) 面板,然后按下 Ctrl + V 来粘贴 EnableMasterPose 函数。

  3. 切换到 BP_Ada 蓝图,在 函数(Functions) 面板中,双击 构建脚本(Construction Script) 来将其打开。按住Shift并逐个点击以下节点(或者左键点击并拖动来将其全部选中),然后按下 Ctrl + C 来将其复制:

    • 启用主姿势(Enable Master Pose) (全部三个)

    • 脚部(Feet)

    • 腿部(Legs)

    • 躯干(Torso)

    选中三个启用主姿势节点,以及其骨骼网格体组件

  4. 切换到 BP_MetaHumanCharacter 蓝图,在 函数(Functions) 面板中,双击 构建脚本(Construction Script) 来将其打开,然后按下 Ctrl + V 来粘贴你复制的节点。

  5. 构建脚本(Construction Script) 节点的输出引脚连接到第一个 启用主姿势(Enable Master Pose) 节点的输入引脚,如下所示。

    连接构建脚本节点

  6. 仍然在 BP_MetaHumanCharacter 蓝图中,切换到视口,然后点击 Body 组件(1)来将其选中。在 细节(Details) 面板中,找到 动画(Animation) 部分(2),设置以下属性:

    • 动画模式(Animation Mode):使用动画蓝图

    • 动画蓝图(Animation Blueprint): 找到并选择你之前在该教程中创建的 ABM_MHRuntimeRTG 动画蓝图。

    设置动画模式和动画蓝图

    点击查看大图。

隐藏Quinn的网格体

最后需要在 BP_MetaHumanCharacter 蓝图中隐藏Quinn网格体。要完成该步骤,进行以下操作:

  1. BP_MetaHumanCharacter 蓝图中,点击 Mesh (CharacterMesh) 组件来将其选中。然后在 细节(Details) 面板中,修改以下属性:

    • 可见(Visible):取消选择该复选框。

    • 可见度基于动画Tick选项(Visibility Based Anim Tick Option): 设为总是Tick姿势并刷新骨骼。

    使用 细节(Details) 面板中的 搜索 框可以快速找到属性。

  2. 编译(Compile)保存(Save) 蓝图。

将你的MetaHuman设为默认的Pawn类

接下来,你需要将 BP_MetaHumanCharacter 蓝图分配为当前游戏模式的 默认Pawn类(Default Pawn Class)。这会让你的游戏在开始时使用你的MetaHuman来作为可操作的角色。

执行以下步骤:

  1. 内容浏览器(Content Browser) 中,找到 Content/ThirdPerson/Blueprints 文件夹。

  2. 双击 BP_ThirdPersonGameMode 蓝图来将其打开。

  3. 默认Pawn类(Default Pawn Class) 属性设为 BP_MetaHuman Character

    修改默认Pawn类

  4. 编译(Compile)保存(Save) 蓝图。

最终结果

当你游玩你的游戏时,玩家角色已经替换为你的MetaHuman。该MetaHuman有空闲、奔跑和跳跃动画。其脚部会自动适应地形。

发表评论

用户头像 游客
此处应有掌声~

评论列表

还没有评论,快来说点什么吧~