无法在 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文件

在 android 中设置显示方向后,相机相机预览不正确

无法在 Swift 4 上的 XCUITest 中设置设备方向

如何在iOS中设置方向变化的webview框架?

无法在 ipad 应用程序中设置方向

Barrier 未在约束布局中设置为 referenceIds?