虚拟数字人网

如何使用虚幻引擎动画蓝图将动画重定向到MetaHuman

admin 技术前瞻 2022-08-24 17:17:51
本页面的内容

此教程将介绍如何使用动画蓝图将动画从虚幻引擎5 Mannequin (Quinn)重定向到MetaHuman,然后将该MetaHuman用作关卡中的可操作角色。

此方法 使用IK Rig腿部位置功能。带动画的MetaHuman腿部无法动态地贴合地貌。如果你想使用IK Rig功能,请参考运行时动画重定向页面。

所需知识和准备

本文需要你对虚幻引擎的动画蓝图有基本的了解。

在可以执行本页面简要介绍的步骤之前,请先执行以下操作:

工作流程

此工作流包含以下步骤:

  1. 将Quinn动画蓝图重定向到MetaHuman的骨骼网格体。

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

  3. 将你的MetaHuman设置为游戏模式蓝图中的默认Pawn类。

  4. 修复腿部动画。

重定向Quinn动画蓝图

第一步是将Quinn动画蓝图重定向到MetaHuman的骨骼网格体,此蓝图控制Quinn的动画。

执行以下步骤:

  1. 内容浏览器(Content Browser) 中,找到 ABP_Quinn 动画蓝图。你可以使用搜索栏,或找到 Content/Characters/Mannequins/Animations 文件夹。

  2. 右键点击 ABP_Quinn 动画蓝图,然后从上下文菜单中,选择 重定向动画资产(Retarget Animation Assets) > 复制和重定向动画蓝图(Duplicate and Retarget Animation Blueprint)

  3. IK重定向器(IK Retargeter) 部分中,点击下拉菜单,然后选择 RTG_Mannequin 资产。

    选择重定向资产

    这会使用Manny骨骼网格体来填充 源骨骼网格体(Source Skeletal Mesh)目标骨骼网格体(Target Skeletal Mesh) 预览。

  4. 点击预览下面的 目标骨骼网格体(Target Skeletal Mesh) 下拉菜单,然后选择与你的MetaHuman对应的身体网格体。

    请注意,所有骨骼网格体都遵循相同的命名规范:gender-presentation_height_weight_mesh-purpose.本教程使用 Bryan 预设,其属性如下所示:

    • gender-presentation: m

    • height: med

    • weight: nrw

    身体网格体具有 _body 后缀。

    对于此教程,你要查找的网格体名为 m_medium_nrw_body 。在下拉菜单中搜索并选择它。

    选择MetaHuman的预览网格体

  5. (可选)为重定向的资产配置额外的选项:

    • 输入要添加到新资产文件名的 前缀(Prefix) 和/或 后缀(Suffix)

    • 点击 文件夹(Folder) 选项旁边的 更改(Change) 按钮,然后浏览到你要创建重定向资产的路径。

  6. 点击 重定向(Retarget) 按钮。

    重定向按钮

    你将在右下角看到消息:"{Number}`` 个资产已重定向到新骨骼 {mesh-name} 。请在输出中查看详细信息("{Number}`` assets were retargeted to new skeleton {mesh-name}. See Output for details.)。"此消息确认重定向已成功。

    你也可以在内容浏览器中看到新的重定向的资产。

  7. 内容浏览器(Content Browser) 中,点击 全部保存(Save All) 按钮来保存新创建的资产。

    内容浏览器中的"全部保存"按钮

记住在此步骤中创建新 动画蓝图(Animation Blueprint) 资产的名称和位置。稍后需要用到此信息。

对于本教程,文件保存在 Content 文件夹中,文件名未更改。

创建可协作的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/(MetaHumanName) 文件夹中,名为 BP_(MetaHumanName)

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

    Bryan角色网格体

  6. BP_Bryan 蓝图的 蓝图编辑器(Blueprint Editor) 中,点击 身体(Body) 组件(1)。然后,在 细节 面板中,找到 网格体(Mesh) 分段(2),然后找到 骨骼网格体(Skeletal Mesh) 属性。点击 浏览到资产(Browse to Asset) 按钮(3)。

    "浏览到资产"按钮

    点击查看大图。

    点击此按钮将浏览到内容浏览器中此MetaHuman的身体骨骼网格体。

  7. 切换到 BP_MetaHumanCharacter蓝图编辑器(Blueprint Editor) 中,然后点击 身体(Body) 组件(1)。然后,在 细节 面板中,找到 网格体(Mesh) 分段(2),然后找到 骨骼网格体(Skeletal Mesh) 属性。点击 使用来自内容浏览器的选定资产(Use Selected Asset from Content Browser) 按钮(3)。

    "使用来自内容浏览器的选定资产"按钮

    点击查看大图。

  8. 切换到 BP_Bryan 蓝图的 蓝图编辑器(Blueprint Editor) 。在组件(**Components)选项卡中,选择以下组件:

    • 躯干

    • 毛发

    • 眉毛

    • 绒毛

    • 睫毛

    • 上嘴唇胡须

    • 下巴胡须

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

    使用 Ctrl + C 键盘快捷方式复制你选择的组件。复制(Copy)

  9. 切换到 BP_MetaHumanCharacter蓝图编辑器(Blueprint Editor) 。在 组件(Components) 面板中,点击 网格体(角色网格体0)(Mesh (CharacterMesh0)) 组件,然后使用 Ctrl + V 键盘快捷方式来粘贴你在上一步骤中复制的组件。

  10. 接着上一步骤,在 组件(Component) 面板中选择此前复制的组件,然后点击并将其作为子节点拖动到相应的网格体组件下。完成后的层级看起来应该如以下屏幕截图所示。

    组件层级

    组件在此窗口中的顺序不重要,只要所有组件具有正确的父节点即可。

  11. 选择 腿(Legs)脚(Feet)脸(Face)躯干(Torso) 组件(1)。然后,在"细节(Details)"面板中,找到 变换(Transform) 分段。点击 位置(Location)旋转(Rotation) 值旁边的两个 重置(Reset) 按钮(2),将这些值重置为零。

    重置组件变换

    点击查看大图。

    要选择多个非连续的组件,请按住 Ctrl 键并用鼠标左键点击要选择的每个组件。

  12. 选择选择 网格体(Mesh) 组件。然后,在"细节(Details)"面板中,找到 动画(Animation) 分段,然后配置以下属性:

    • 动画模式(Animation Mode):将此值设置为 使用动画蓝图(Use Animation Blueprint)

    • 动画类(Animation Class):选择你在上文中创建的 ABP_Quinn 动画蓝图。

  13. 切换到 BP_Bryan 蓝图的 蓝图编辑器 窗口。在 函数 面板中,点击 EnableMasterPose 函数,然后点击 Ctrl + C 复制它。

    Copying the Enable Master Pose function

    点击查看大图。

  14. 切换到 BP_MetaHumanCharacter 蓝图。在 函数 面板内点击左键,然后使用 Ctrl + V 粘贴你在上一步中复制的 EnableMasterPose 函数。

  15. 继续上一步,在 BP_MetaHumanCharacter 蓝图中,双击 EnableMasterPose 函数打开它。找到位于蓝图最右侧的 Set Master Component 节点。

    如果你现在编译蓝图,会收到一个错误消息:"无法找到与Body相关的属性"。我们将在下一步骤中解决这个问题。

    Error when trying to compile the Blueprint

  16. 组件 窗口中,将 Mesh (CharacterMesh) 组件拖入蓝图中。这会创建一个 Mesh 节点。点击并拖动 Mesh 节点的输出引脚,将其连接到 Set Master Pose Component 节点的 New Master Bone Component 属性。这会 Body 节点和 Set Master Pose Component 节点之间的现有连接。

    下面的视频展示了该过程。

  17. 切换到 BP_Bryan 蓝图。在 函数 面板中,双击 构造脚本 打开它。按住Shift键单击以下节点(或拖选它们),然后按 Ctrl + C 复制它们。

    • Enable Master Pose (所有三个)

    • Feet

    • Legs

    • Torso

    Select the three Enable Master Pose nodes, as well as their Skeletal Mesh Components

  18. 切换到 BP_MetaHumanCharacter 蓝图。在 函数 面板中,双击 构造脚本 打开它,然后按 Ctrl + V 粘贴你复制的节点。

  19. 构造脚本 节点的输出引脚连到第一个 Enable Master Pose 节点的输入,如下所示。

    Connecting the Construction Script node

  20. 编译(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的腿固定在地面上。为了解决这个问题,请按照下列步骤操作:

  1. 返回到你在上方 重定向Quinn动画蓝图(Retarget the Quinn Animation Blueprint) 分段中创建的动画蓝图文件,然后打开 ABP_Manny 蓝图。

    之所以要求在 ABP_Manny 蓝图(而非 ABP_Quinn)中工作,因为前者是后者的父类,而后者将继承父类的内容。

  2. 我的蓝图(My Blueprint) 面板中,双击 AnimGraph 动画图将其打开。

    Anim Graph

  3. AnimGraph 视图中,找到 Control Rig 节点。按住 Alt 键,用鼠标左键点击传入和传出连接引脚(显示在下方屏幕截图中)以断开连接。

    断开这两个连接

  4. 插槽 ‘Slot ‘DefaultSlot' 节点的输出引脚连接到 Output Pose 节点的输入引脚,如下所示。

    按所示方式重新连接

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

最终效果

在运行游戏时,玩家角色现在是你的MetaHuman。MetaHuman具有静止、奔跑和跳跃的动画。

发表评论

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

评论列表

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