虚拟数字人网

在虚幻引擎4中将MetaHuman设置为第三人称角色

admin 技术前瞻 2022-08-24 18:35:28
本页面的内容

该页面介绍了旧版本的MetaHuman工作流程。这种工作流程只适合虚幻引擎4,用于包含了从原始的MetaHuman Creator创建的MetaHuman的项目。要了解使用当前版本MetaHuman和虚幻引擎5的工作流程,参考虚幻引擎5指南部分。

如需在本地(即在你的计算机上)使用 MetaHumans,你必须首先下载和安装Quixel Bridge。你将通过它下载MetaHumans并导出到 虚幻引擎

在虚幻引擎中将MetaHuman用作第三人称角色需要两个步骤:

  1. 将MetaHuman导入到UE4,并使用现有第三称模板将它们设置为可操作角色,如此页面所述。

  2. 对MetaHuman进行动画处理,如

    [](metahumans-unreal-engine/retargeting-animations)
    页面所述。

     

在此指南中,你将了解如何为虚幻引擎项目导入MetaHuman角色,并将它们设置成可在关卡中移动。

1.新建第三人称虚幻项目

请遵循第三人称模板页面中所述的步骤来新建虚幻引擎项目。此模板包含操控MetaHuman所需的角色控制器以及其他内容。

阶段成果

你现在应该拥有包含可操作角色和一些基本几何体的关卡。

第三人称角色关卡模板的截图

点击查看大图。

2.下载并导出MetaHuman

在虚幻引擎项目中使用MetaHuman前,你需要下载它们的资产(骨骼网格体、纹理、材质等)并将它们导出到虚幻引擎。

  1. 遵循

    [在虚幻引擎中使用MetaHuman的入门指南](metahumans-unreal-engine/getting-started)
    页面中步骤,下载MetaHuman的资产。本教程使用 Ada MetaHuman预设,但你可以使用任何预设或自定义 MetaHuman。

     

  2. 确保虚幻引擎正在运行,并且你创建的项目已打开。

  3. 如果这是首次从Quixel Bridge将MetaHuman导入虚幻引擎,请如

    [下载和导出MetaHumans用户指南](exporting-metahumans)
    页面所述配置你的下载和导出设置。

     

  4. Quixel Bridge 中,找到MetaHuman,将鼠标悬停在缩略图上方,然后点击 导出(Export) 按钮。

  5. 等待导出完成。这可能需要一点时间,具体视你的计算机硬件而定。

  6. 如果虚幻引擎显示关于启用所需设置或插件的任何消息,请点击 启用缺失内容(Enable Missing) 按钮。虚幻引擎将为你自动启用它们。

    在虚幻引擎中启用缺失内容设置和插件

    当你导入MetaHuman时,虚幻引擎可能显示一个或多个这类警告。

  7. 如有提示,请重启虚幻引擎。

    重启虚幻引擎提示

如果导出失败,确保你正确配置了下载和导出设置。有关更多信息,参见

[](exporting-metahumans)
页面。

 

阶段成果

内容浏览器(Content Browser) 中,你现在应该会看到 MetaHumans 文件夹,包含一个MetaHuman的单独子文件夹。

虚幻引擎中的MetaHuman文件夹

你可以在 内容浏览器(Content Browser) 中找到任何导入的MetaHuman文件。蓝图命名为BP_MetaHumanName,并且位于 MetaHumans/MetaHumanName/ 文件夹中。

你可能需要点击 显示或隐藏源面板(Show or hide the sources panel) 按钮才能看到项目的文件夹结构。此按钮位于 内容浏览器(Content Browser) 中的 添加/导入(Add/Import) 按钮下。

显示源面板按钮

3.创建和准备你的可操控MetaHuman蓝图对象

创建可操控MetaHuman蓝图对象的最快方法是:先复制关卡中自带的可操控蓝图对象,(即 虚幻引擎人形角色),然后把其模型改为MetaHuman。

  1. 内容浏览器(Content Browser) 中,前往 Content/ThirdPersonBP/Blueprints 文件夹。

  2. 右键点击 ThirdPersonCharacter 蓝图,然后从上下文菜单中,选择复制(Duplicate)。

    复制蓝图

    将新蓝图重命名为 BP_MetaHuman

  3. 打开 BP_MetaHuman 蓝图并点击 视口(Viewport) 选项卡。

  4. 内容浏览器(Content Browser) 中,前往 Content/MetaHumans/Ada 文件夹,并打开 BP_Ada 蓝图,然后点击 视口(Viewport) 选项卡。

当你切换到视口(Viewport)选项卡时,你可能会看到显示虚幻引擎正在编译着色器的消息。MetaHuman可能与开始的在线预览不一样(例如可能缺失一些纹理或毛发网格体)。当着色器完成编译后,这些问题将会解决。

为方便访问,你可以并排显示两个蓝图窗口。

阶段成果

现在你可以开始运行 BP_MetaHuman

角色蓝图

4.填充你的可控制MetaHuman蓝图

接下来,你需要将MetaHuman的Groom和网格体复制到你刚创建的可控制角色蓝图。Groom和网格体均为构成MetaHuman外观的组件。

  1. 在MetaHuman的蓝图中,选择 身体(Body) 中所有个体组件。点击层级中的首个组件,然后按住 Shift 键并点击最后一项。

  2. 然后,右键点击你所选的组件,并点击 复制(Copy)

    下方视频向你展示了操作步骤。

  3. 将你刚刚复制的组件粘贴到 BP_MetaHuman 蓝图。右键点击组件(Components)面板中的任何位置,然后点击 粘贴(Paste)

    将组件粘贴到MetaHuman蓝图中

    在此阶段,确保以下内容:

    1. 组件 层级中,你需要对这些组件和 Mesh (CharacterMesh0) (Inherited) 组件建立父子级。这意味着MetaHuman组件需要成为网格体组件的子级。

    2. 组件层级需要完全匹配MetaHuman的组件层级。

    拖放组件,对它们进行重新排序,或更改其父级。

    本步骤结束后,组件 层级应如下所示:

    蓝图中的MetaHuman组件

    某些组件在视口中没有正确对齐。我们将在后续步骤中修复该问题。

  4. 你还需要从MetaHuman蓝图中复制 LODSync 组件。此组件基于硬件功能、平台和视图距离控制角色显示的详细程度。要了解关于MetaHuman LOD的更多信息,参见

    [](metahumans-unreal-engine/level-of-detail-lod)

     

    返回到MetaHuman蓝图。右键点击 LODSync 组件,并选择 复制(Copy)

    复制LoDSync组件

  5. LODSync组件 粘贴到 BP_MetaHuman 蓝图。右键点击组件层级的空白区域,然后点击 粘贴(Paste)

    粘贴LoDSync组件

  6. 确保MetaHuman组件对齐并位于相应位置。为此,在 组件(Components) 层级中选择所有MetaHuman组件。然后,在 细节(Details)面板中,查看它们的 变换(Transform) 值。

    请注意,位置(Location)旋转(Rotation) 显示为多个值。要正确对齐所有组件,你需要将这些值重置为零。点击每行旁边的 重置为默认(Reset to Default) 图标。

    重置多个组件的位置和旋转

    此步骤结束后,所有 位置(Location)旋转(Rotation) 的X、Y和Z值现在应该为零。

  7. 蓝图仍然使用虚幻引擎人形角色骨骼网格体,这意味着MetaHuman显示在人形角色上方,并部分夹入其中。我们来修复此问题。

    在组件层级中,选择 Mesh(CharacterMesh0) (Inherited) 组件。然后,在 细节(Details) 面板中找到网格体分段。

    在网格体分段,将骨骼网格体更改为MetaHuman相应的骨骼网格体。对于Ada预设,这里为 f_med_nrw_body

    更改MetaHuman的骨骼网格体

    如果你使用不同的MetaHuman,你可能需要选择不同的骨骼网格体。所有MetaHuman骨骼网格体遵循相同的命名规范:gender_height_weight_body,其中:

    • gender 可能是 fm

    • height 可能是 srt (矮),med (平均)或 tal (高)

    • weight 可能是 unw (重量不足),nrw (平均) 或 ovw (超重)

  8. 借助所选的 Mesh (Character Mesh0) (Inherited) 组件,在 材质(Materials) 面板中,确保 元素0 的材质为 M_BodySynthesized。材质定义了角色身体皮肤的外观和感觉。

    选择MetaHuman身体的材质

  9. 最后,在 主工具栏(Main Toolbar) 中,点击 编译(Compile)。这将在 视口(Viewport) 中重新生成MetaHuman。

阶段成果

你现在应该可以在 BP_MetaHuman 蓝图的视口中看到MetaHuman正确渲染。

可操作MetaHuman蓝图

5.将MetaHuman设置为默认的可操作角色

如果你点击 主工具栏(Main Toolbar) 中的 运行(Play),你将看到你控制的角色仍为默认的虚幻引擎人形角色。要将此更改为MetaHuman角色,你需要在关卡的 世界场景设置(World Settings) 面板中重载部分内容。

  1. 打开 世界场景设置(World Settings) 面板。从 主工具栏(Main Toolbar) 中点击 设置(Settings) 按钮。然后,选择 世界场景设置(World Settings)

    世界场景设置(World Settings) 面板默认在右侧打开,位于 世界大纲视图(World Outliner) 下方。

  2. 在世界场景设置(World Settings)面板中的游戏模式分段,将游戏模式重载(GameMode Override)设置为ThirdPersonGameMode。

    然后,展开 所选游戏模式(Selected GameMode) 属性,将 默认的Pawn类(Default Pawn Class) 设置为BP_MetaHuman,这是你在上面创建并填充的可控制MetaHuman蓝图。

    更改世界场景设置中的默认Pawn类

    当你启动游戏时,这会告知虚幻引擎将MetaHuman用作玩家角色。

    当你启动游戏时,MetaHuman将在场景中的玩家出生点组件位置生成。如果你使用第三称模板创建游戏,你的场景应该已经包含此组件。你可以将玩家出生点组件在场景中的任意位置移动。

  3. 从关卡中删除虚幻引擎人形角色。

    点击选中虚幻引擎人形角色,然后在键盘上按 删除(Delete)

要进行快速的动态测试,你还需要将MetaHuman蓝图拖放到场景中。然后,在 细节(Details) 面板中,将 自动拥有玩家(Auto Possess Player) 属性设置为 玩家 0(Player 0)

在世界场景设置中启用自动拥有玩家选项

最终结果

主工具栏(Main Toolbar) 中,如果你按 运行(Play),你现在应该能够控制MetaHuman。

接下来呢?

虽然你的MetaHuman现在是一个可操作角色,但是还没有对它们进行动画处理。继续转到

[](metahumans-unreal-engine/retargeting-animations)

页面,了解如何将简单的动画添加到MetaHuman,如奔跑和跳跃。

发表评论

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

评论列表

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