无法在 AR 增强面部中设置 3d 模型的正确方向
Posted
技术标签:
【中文标题】无法在 AR 增强面部中设置 3d 模型的正确方向【英文标题】:Unable to set proper orientation of 3d Model in AR augmented face 【发布时间】:2020-01-06 16:04:55 【问题描述】:我正在尝试使用 ARCore Augmented Face 将耳环戴在脸上。我正在搅拌机中编辑 3D model 并根据 canonical_face_mesh.fbx 调整模型。
但是我的 3d 模型在头顶渲染。
我还尝试使我的模型的轴心点与 canonical_face_mesh.fbx 的轴心点相同(如SO 问题中所述),但在应用程序中运行时它仍然呈现
【问题讨论】:
【参考方案1】:问题是
-
我没有像doc 中提到的那样将自定义网格放置为资产节点的子节点。
.
使自定义网格或对象成为资产节点的子节点:
i) 在搅拌机file->import->fbx
中加载给定的canonical face mesh,然后浏览您下载的canonical face mesh。
(注意:每个 SDK 都有自己的参考面网格并且它们不同;请确保使用正确的)。
ii) 然后加载您的自定义 3D 模型。
iii) 根据canonical face mesh 缩放和对齐您的模型,无论您想要它在哪里。
iv) 在对象模式下按ctrl + shift +p
,然后单击您的自定义模型,然后单击canonical face mesh 中的骨骼。选择菜单将出现在该菜单中选择对象。
这将使您的模型成为资产节点的子节点。
-
现在您需要在模型中添加顶点组。为此:
i) 在编辑模式下选择模型中的所有顶点。
ii) 然后进入上下文对象数据菜单。单击 + 图标并命名您的顶点(NOSE_TIP、FOREHEAD_RIGHT 或 FOREHEAD_LEFT)。您必须根据您的模型进行分配。我的是鼻钉,所以我选择 NOSE_TIP。 然后点击分配。
现在要交叉检查,您可以取消选择您的模型,然后单击您的顶点组,然后单击分配按钮旁边的选择按钮,您会注意到您的模型现在已被选中。
-
您需要添加修饰符。添加修饰符
i) 点击修饰符选项。
ii) 然后单击添加修饰符,您将在选择骨架中看到一个下拉菜单。
iii) 将其命名为资产,如上所示选择对象作为资产并选择 Nose_TIP,如上所示。
现在只从资产中删除面部网格。
并导入您的模型。
【讨论】:
我对步骤感到困惑,请您详细说明一下吗? drive.google.com/open?id=1BJW6uxXxFfuKCdNgcWWdIdsVVwbGt90u drive.google.com/open?id=1CB0M_p3c28X1WTQbwCW70E-X0o6XSXs7 这些是fbx格式,你可以直接在你的项目中使用它们 它们出现在头部的原因是您无法锁定它们,请寻求 3D 建模师或了解 Blender 的人的帮助【参考方案2】:您的情况可能存在三个问题:
3D 耳环模型的pivot point
与面部Anchor 位置不匹配。
3D 模型的 size
/proportions
与规范面网格的 size
/proportions
不匹配。
3D 模型中的 pivot point
向错误的 Y 轴方向移动。
附言
如果您需要有关增强面功能和人脸锚的更多详细信息,请阅读this post。
请记住,对于 Sceneform、Unity 和 Unreal,网格的方向是不同的。
【讨论】:
以上是关于无法在 AR 增强面部中设置 3d 模型的正确方向的主要内容,如果未能解决你的问题,请参考以下文章
我的渲染技术进阶之旅关于ARCore的标准人脸3D模型canonical_face_mesh.fbx和2D面部网格参考纹理canonical_face_mesh.psd文件