我的渲染技术进阶之旅关于ARCore的标准人脸3D模型canonical_face_mesh.fbx和2D面部网格参考纹理canonical_face_mesh.psd文件

Posted 字节卷动

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的渲染技术进阶之旅关于ARCore的标准人脸3D模型canonical_face_mesh.fbx和2D面部网格参考纹理canonical_face_mesh.psd文件相关的知识,希望对你有一定的参考价值。

文章目录

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

要实现增强面孔,您需要自定义纹理和模型 叠加在已识别的面网格上。这些资产由艺术家创建 提前使用3D建模和动画软件,并导出为FBX 文件。

1.1 规范文件

SDK 附带了两个文件,以帮助艺术家创建将正确叠加到 ARCore 检测到的面部上的资产。这些文件可以在文件夹中找到。

1.2 使用 FBX 文件创建 3D 模型

FBX 文件包含面部网格拓扑、UV 纹理坐标和装备,这些装备定义了为创建和附加资产提供的受支持的面部区域。为确保它们与 ARCore 兼容,应使用受支持的设置保存 FBX 文件。

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

1.3 使用 PSD 文件创建 2D 纹理

面部网格参考纹理用于查看艺术家创建的纹理在运行时如何与用户的面部特征对齐。它包括四层:.psd

  • 面具:显示眼睛、鼻孔和嘴巴在纹理中的位置。
  • 线条:显示用户的面部特征在运行时如何与纹理对齐的指南。
  • UVs:表示 468 点面纹理网格的三角剖分。
  • 背景:中性灰色背景层,使其他三个组件在视觉上清晰。


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

1.4 自定义规范面部网格

如果使用 SDK 中包含的创建模型和纹理,则在导出 FBX 文件时也需要这些设置:assets/canonical_face_mesh.fbx

  • 如果使用 SDK 中包含的创建模型和纹理,则在导出 FBX 文件时也需要这些设置:assets/canonical_face_mesh.fbx

  • 使用以下层次结构:

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

  • 将自定义网格放置为 .asset 节点的子项

  • 支持使用命名空间。

  • 该资产包含四个骨骼和区域组成。不要更改这些骨骼的名称。root NOSE_TIP FOREHEAD_LEFT

1.4.1 导入到Blender中

canonical_face_mesh.fbx导入到Blender中,如下所示:




二、参考链接

以上是关于我的渲染技术进阶之旅关于ARCore的标准人脸3D模型canonical_face_mesh.fbx和2D面部网格参考纹理canonical_face_mesh.psd文件的主要内容,如果未能解决你的问题,请参考以下文章

我的OpenGL学习进阶之旅如何在Android中使用ARCore结合OpenGL ES来实现增强人脸Augmented Faces?

我的OpenGL学习进阶之旅如何在Android中使用ARCore结合OpenGL ES来实现增强人脸Augmented Faces?

我的OpenGL学习进阶之旅收集的3D渲染技术之UVMap和Mesh相关资料

我的OpenGL学习进阶之旅收集的3D渲染技术之UVMap和Mesh相关资料

我的Android进阶之旅如何在Android中使用ARCore来增强人脸Augmented Faces?

我的Android进阶之旅如何在Android中使用ARCore来增强人脸Augmented Faces?