本文介绍了 Mesh to MetaHuman 的使用流程——即通过已有的静态或骨骼网格体创建MetaHuman。
所需工具和知识
要使用"Mesh to MetaHuman"功能,你应该先熟悉以下概念:
-
虚幻引擎中的静态网格体或骨骼网格体
你应该能够访问以下工具和项目:
-
虚幻引擎5或更高版本
-
MetaHuman Creator
-
Quixel Bridge 2022.0.2或更高版本
-
微软Windows操作系统(当前还不支持macOS和Linux)。
此工作流只能在虚幻引擎5和更高版本中使用。
工作流程
"Mesh to MetaHuman"工作流包含以下步骤:
-
设置你的虚幻引擎项目。
-
导入和准备角色网格体。
-
创建和配置MetaHuman身份资产。
-
创建和跟踪中性姿势。
-
运行身份解析。
-
将模板网格体提交到MetaHuman后端。
-
在MetaHuman Creator中进一步自定义你的MetaHuman。
-
下载你的MetaHuman并导入到虚幻引擎5。
下面将详细介绍这些步骤。
设置你的虚幻引擎项目
要设置你的项目,请完成以下步骤:
-
在 Epic Games启动程序 的 虚幻商城选项卡 中下载 MetaHumans 插件。在引擎中安装该插件,并在项目中启用它。
如果需要有关如何完成此步骤的更多信息,请参考虚幻引擎5文档中的使用插件页面。
-
在 主工具栏(Main Toolbar) 中打开 Quixel Bridge ,然后登录。
这是 必要 步骤,即使以前登录过Epic Games启动程序也必须执行。登录到启动程序并不会自动登录到Quixel Bridge。
导入和准备角色网格体
接下来,需要将角色网格体导入到虚幻引擎。网格体可以是扫描、塑造或现有的游戏资产。
为了获得最佳效果,请确保网格体满足以下要求:
-
FBX或OBJ格式。
-
具有纹理或材质。为了获得最佳效果,网格体应该使用皮肤的反射纹理作为其纹理。否则,需要使用能够将眼白(巩膜)和皮肤色调区分开的材质。
-
能够显示眼白(巩膜)。网格体不需要具有分隔的眼眶和眼球,但 必须 睁眼,并且在眼睛和眼睑之间具有可见的分隔。
空眼眶的追踪效果很差,会产生适配瑕疵和其他跟踪缺陷。
如果网格体不使用皮肤的反射纹理作为纹理,那么还应该满足以下光照要求:
-
充足的、面向前方的光照。
-
均匀对称地照亮特征。
-
重要面部特征(鼻唇沟皱褶和嘴唇)之间的最低对比度。
导入FBX格式的网格体所需的时间明显长于导入OBJ格式的网格体。作为最佳实践,如果要导入的网格体具有超过200,000个顶点,我们建议使用OBJ文件。这是已知限制。
使用虚幻引擎5文档中的直接导入资产页面上介绍的工作流之一(例如拖放)来导入网格体。
在 导入选项(Import Options) 窗口中,展开 网格体(Mesh) > 高级(Advanced) 分段, 启用 合并网格体(Combine Meshes) (如果尚未启用)。
导入完成后,在 内容浏览器(Content Browser) 中双击生成的 静态网格体,以便在静态网格体编辑器中将其打开。
你会注意到,网格体没有纹理。
要解决此问题,在 内容浏览器(Content Browser) 中找到网格体的 材质,然后双击材质在 材质编辑器(Material Editor) 中将其打开。
将网格体的 纹理 从 内容浏览器 拖动到 材质编辑器 中,如以下屏幕截图所示。这会为纹理创建新的节点。从纹理节点的 RGB 引脚拖出一根引线,连接到材质节点的 基础颜色(Base Color) 引脚。这会替代纯白色 Param 节点和材质节点之间的现有连接。完成此操作之后,删除 Param 节点。
如果网格体的方向不正确,请在 细节(Details)"面板(1)中调整其 导入平移(Import Translation) 和/或 导入旋转(Import Rotation) 属性,然后点击 重新导入基础网格体(Reimport Base Mesh) 按钮(2),如下所示。
根据所导入网格体的方向,你可能需要在示例面板(3)中启用 强制前向X轴(Force Front XAxis) 选项。
如果在视口中发现视觉瑕疵,那么很有可能无法很好地追踪网格体。扫描的网格体上的大部分瑕疵都来自顶点/三重分割,通常是由于存在多个UV集造成的。为了解决此问题,请确保你的网格体只有为了映射反射纹理而必需的UV集。
如果你对生成的网格体不满意,请保存网格体,然后关闭静态网格体编辑器。
创建和配置MetaHuman身份资产
接下来,你将创建和配置MetaHuman身份资产。此资产中包含MetaHuman的脸部网格体(模板网格体)、体型信息和姿势信息。
请按照以下步骤进行操作:
-
在 内容浏览器(Content Browser) 中右键单击。在上下文菜单中,找到 创建高级资产(Create Advanced Asset),然后选择 MetaHuman > MetaHuman身份(MetaHuman Identity) 。
你创建的身份资产的文件名将会是MetaHuman Creator中的MetaHuman名称。
-
双击你创建的 资产 将其打开。最初的时候,此资产是空的。
-
在主工具栏中,点击 网格体中的组件(Components from Mesh) 按钮。然后,搜索并选择你导入的角色网格体。
在完成此步骤之后,Metahuman身份资产编辑器(Metahuman Identity Asset Editor) 左侧的 组件(Components) 面板中将会填充以下组件:
-
脸
-
模板网格体
-
中性姿势
-
身体
-
-
选择 身体(Body) 组件,然后:
-
使用 身高(Height) 滑块(1)选择你的MetaHuman身高是矮、中还是高。
-
点击缩略图(2),选择要用于你的MetaHuman的 体型(Body Type) 。
稍后可以在MetaHuman Creator中调整这些值。
-
创建和跟踪中性姿势
在MetaHuman后端可以根据你上传的网格体创建与MetaHuman兼容的模板网格体之前,需要创建和跟踪 中性姿势(Neutral Pose)。
更改视口中的光照可以让网格体的使用更加简单。在 视口工具栏(Viewport Toolbar) 中切换不同的光照模式,如下所示。
对于使用皮肤的反射纹理作为纹理的网格体,无光照(Unlit) 模式运行最为顺利。对于其他网格体,可能必须选择 光照(Lit) 模式并旋转光源,直到整个脸部均匀照亮。要旋转光源,按住 L 键(或按住 Ctrl + L 键,具体取决于引擎的配置方式),然后按照鼠标左键并拖动。
接着上一部分,按照以下步骤进行操作:
-
在 组件(Components) 面板中,选择 中性姿势(Neutral Pose) 组件。
-
在视口菜单中配置 视野(FOV)(菜单看起来像三条堆叠的横线,位于视口工具栏中)。我们建议使用"长镜头",这可以通过选择20度或范围更小的视野来完成。
-
在 视口 中,调整摄像机的位置,使网格体面向前方并使头部完全可见。
要在视口中导航,应该按住鼠标右键并使用 WASD 键进行雕刻,按住 Q 和 E 键可以向上和向下平移摄像机。
-
在仍然选择选中 中性姿势(Neutral Pose) 组件的情况下,点击底部工具栏中的 提升帧(+)(Promote Frame (+))。
在提升帧之后,帧将出现在帧提升时间轴中,如下所示。由于这是第一个提升的帧,因此其名称为Frame 0。双击帧可以重命名它。
如果需要手动适配耳朵或鼻孔,那么可以重复此过程以提升更多的帧(例如侧面轮廓图),并在 标记大纲视图 中激活这些帧的专用标记。始终需要包含鼻唇沟、嘴唇、眼睑完整视图的面部帧。其他帧应该只能包含面部帧中不存在的标记,只有在身份解析步骤之后无法充分适配特征(例如耳朵或鼻孔)的情况下才需要添加。
如果有多个包含相同标记的帧(例如两个不同的面部帧),请确保只有 一个 用于身份解析。用于解析(Used to Solve) 布尔值是一个根据帧而变化的属性,可以在细节面板中设置,或在视口下方的时间轴中右键点击帧时出现的上下文菜单中设置。
-
在仍然选中你创建的帧时,在主工具栏中点击 跟踪活跃帧(Track Active Frame) 按钮。这会沿着网格体的面部特征创建一系列 标记。
如果在提升针的上下文菜单中 启用 了自动跟踪,就可以来回雕刻摄像机,并查看跟踪器如何进行响应。
-
锁定(Lock) 当前帧。在 帧提升时间轴(Frame Promotion Timeline) 中,右键点击帧并确保启用了 锁定摄像头(Lock Camera) 选项。
锁定某个帧之后,仍然可以通过在自由漫游模式下设置摄像机来进行导航。为了实现这个目的,点击 帧提升时间轴(Frame Promotion Timeline) 左侧的 摄像机(Camera) 按钮。
-
(可选)放大并扭曲未与面部特征正确对齐的标记。
运行身份解析
仍然是在 身份资产编辑器 中,从主工具栏中点击 身份解析(Identity Solve) 按钮。只有当时间轴中至少存在一个提升帧时才会启用此按钮,并且只有在标记处于活跃状态并可以充分跟踪时才能产生良好结果。
身份解析将模板网格体顶点适配到你在上一个步骤中跟踪的中性姿势网格体体积。
在身份解析完成后,就可以通过在视口工具栏中点击 A / B 选项卡,在视口中切换原始网格体和模板网格体。A 和 B 按钮可为同一个视口摄像机激活两个单独的帧缓冲,并且提升帧可以创建该摄像机的快照。你可以为这两个帧缓冲的每个缓冲配置视口设置,例如光照。
此外,通过在视口工具栏中启用或禁用 中性姿势(Neutral Pose) 和 模板网格体(Template Mesh) 选项(如下所示),你可以在同一帧缓冲内切换原始网格体和模板网格体的显示。通过此操作,可以了解两个网格体是否由于所占屏幕位置而发生深度冲突。
将模板网格体提交到MetaHuman后端
现在可以将模板网格体提交到MetaHuman后端,创建你的自定义MetaHuman。在 MetaHuman身份资产编辑器 中,点击 Mesh to MetaHuman(Mesh to MetaHuman) 按钮。
等待该过程完成,然后再继续到下一步。
在MetaHuman Creator中进一步自定义你的MetaHuman
在上一步骤完成后,就可以在MetaHuman Creator中访问你的MetaHuman。
对于通过"Mesh to MetaHuman"创建的MetaHuman,你将会额外看到一个名为 自定义网格体(Custom Mesh) 的面板。在此面板中,可以调整模板网格体的贡献与标准MetaHuman参数化贡献的不同(输入和MetaHuman之间的体积变化,因为这种变化也可以在MetaHuman Creator中单独形成):
-
点击此面板中示例MetaHuman脸部上的一个区域,然后雕刻滑块来增加或减少MetaHuman网格体影响。
-
使用 总体影响(Overall Influence) 滑块来进行全局调整。
上面两个滑块都支持进行对称调节,也支持分别对左侧和右侧进行单独调整。
最初的时候,MetaHuman对皮肤使用与虚幻引擎中的模板网格体相同的纹理,而 混合、塑造 和 雕刻 编辑模式将 不可用 。要解锁这些模式,请点击 启用编辑(Enable Editing) 按钮。你可以选择编辑当前MetaHuman,或进行复制。
"Mesh to MetaHuman"过程不会自动匹配MetaHuman的色调和网格体的皮肤色调。使用皮肤功能按钮选择MetaHuman的皮肤颜色。
这将覆盖模板网格体纹理。
新皮肤纹理可能需要20-30秒才能正确应用。如果皮肤纹理变成粉笔一样的白色,请每隔几秒钟雕刻一次取色器,直到皮肤纹理完成应用。这是已知问题。
下载你的MetaHuman并导入到虚幻引擎5
你的新MetaHuman现在应该可以在Quixel Bridge中下载。在 虚幻引擎5 中,从 主工具栏 中打开 Bridge。
如果尚未登录到Bridge,请使用你的Epic Games账号 登录 到Bridge。登录之后,将能够在Bridge的 我的MetaHuman(My MetaHumans) 分段访问新的MetaHuman。
要下载和导出你的MetaHuman,请按照以下指南进行操作: