为增强面创建自定义纹理和 3D 模型

如需实现增强人脸,您需要自定义纹理和模型,以便叠加到识别出的人脸网格上。这些素材资源由艺术家提前在 3D 建模和动画软件中制作,并以 FBX 文件的形式导出。

规范文件

SDK 附带 canonical_face_mesh.fbx 文件和 canonical_face_mesh.psd 文件,可帮助音乐人创建可正确叠加到 ARCore 检测到的人脸上的资源。这些文件可以在 assets/canonical_face_mesh.fbx 文件夹中找到。

使用 FBX 文件创建 3D 模型

FBX 文件包含人脸网格拓扑、UV 纹理坐标,以及定义可用于创建和附加资源的受支持面部区域的装置。为确保 FBX 文件与 ARCore 兼容,您应使用支持的设置保存 FBX 文件。

此文件包含引用 facemesh,不应将其作为最终 FBX 的一部分导出。ARCore 将在运行时生成并更新单独的人脸网格。

使用 PSD 文件创建 2D 纹理

.psd 人脸网格参考纹理用于查看音乐人在运行时创建与用户面部特征的纹理如何对齐。它包含四个层:

  • Mask:显示眼睛、鼻孔和嘴巴在纹理中的位置。
  • 线条:显示运行时用户面部特征与纹理的对齐方式的准则。
  • UV:表示 468 个点的面纹理网格的三角测量。
  • 背景:中性灰色背景图层,使其他三个组件在视觉上清晰可见。

如果您修改了 PSD 文件,应该会在导出后立即看到所做的更改。

自定义规范人脸网格

如果使用 SDK 中包含的 assets/canonical_face_mesh.fbx 创建模型和纹理,那么在导出 FBX 文件时,还需要进行以下设置:

  • 确保所有自定义网格均已关联到相关的骨骼或区域。

  • 请使用以下层次结构:

    asset
    |__root
    |   |__NOSE_TIP
    |   |__FOREHEAD_RIGHT
    |   |__FOREHEAD_LEFT
    |__facemesh           <-- for reference
    |__                   <-- place additional custom 3D meshes here
  • 请勿导出包含的 facemesh 模型。此网格仅供参考。 ARCore 将在运行时创建单独的人脸网格。在创建自定义人脸网格纹理时,请使用 facemesh 中的 UV 作为参考。

  • 将自定义网格作为 asset 节点的子级。

  • 支持使用命名空间。

  • 该资源包含四个架构,分别包括 rootNOSE_TIPFOREHEAD_RIGHTFOREHEAD_LEFT 区域。请勿更改这些架构的名称。