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

本文主要是介绍【我的渲染技术进阶之旅】关于ARCore的标准人脸3D模型canonical_face_mesh.fbx和2D面部网格参考纹理canonical_face_mesh.psd文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、为增强面孔创建自定义纹理和 3D 模型
    • 1.1 规范文件
    • 1.2 使用 FBX 文件创建 3D 模型
    • 1.3 使用 PSD 文件创建 2D 纹理
    • 1.4 自定义规范面部网格
      • 1.4.1 导入到Blender中
  • 二、参考链接

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

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

1.1 规范文件

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

  • canonical_face_mesh.fbx下载链接
  • canonical_face_texture.psd下载链接

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中,如下所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

二、参考链接

  • https://developers.google.com/ar/develop/java/augmented-faces/create-assets

  • canonical_face_mesh.fbx下载链接

  • canonical_face_texture.psd下载链接

这篇关于【我的渲染技术进阶之旅】关于ARCore的标准人脸3D模型canonical_face_mesh.fbx和2D面部网格参考纹理canonical_face_mesh.psd文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/401241

相关文章

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

C++ Primer 标准库vector示例详解

《C++Primer标准库vector示例详解》该文章主要介绍了C++标准库中的vector类型,包括其定义、初始化、成员函数以及常见操作,文章详细解释了如何使用vector来存储和操作对象集合,... 目录3.3标准库Vector定义和初始化vector对象通列表初始化vector对象创建指定数量的元素值

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo