无法在AR增强脸部中设置3d模型的正确方向

时间:2019-09-03 18:22:05

标签: android augmented-reality blender arcore 3d-model

我正在尝试使用arcore增强型面部将耳钉放在脸上。我正在搅拌机中编辑3D model,并根据 canonical_face_mesh.fbx 调整模型。

Screenshot of model in blender

但是我的3D模型在头顶上方渲染。

我还尝试使模型的枢轴点与 canonical_face_mesh.fbx 的枢轴点相同(如本SO问题所述),但在应用程序中运行时仍会渲染{{ 3}}

2 个答案:

答案 0 :(得分:3)

问题是

  1. 我没有像doc所述将自定义网格物体作为资产节点的子代。
      

    using the hierarchy

要将自定义网格物体或对象作为资产节点的子代,请执行以下操作:

i)将给定的canonical face mesh加载到搅拌机file->import->fbx中,然后浏览下载的canonical face mesh

(注意:每个SDK都有自己的参考面网格,并且它们不同;请确保使用正确的参考面)。

ii)然后加载您的自定义3D模型。

iii)根据canonical face mesh缩放模型并使其对准您想要的位置。

iv)在对象模式下,按ctrl + shift +p,然后单击您的自定义模型,然后单击canonical face mesh中存在的骨骼。选择菜单将出现在该菜单中,选择对象。

这将使您的模型成为资产节点的子代。

Like this

  1. 现在,您需要在模型中添加“顶点组”。为此:

enter image description here

i)在编辑模式下选择模型中的所有顶点。

ii)然后转到上下文对象数据菜单。单击+图标,然后为您的顶点命名(NOSE_TIP,FOREHEAD_RIGHT或FOREHEAD_LEFT)。您必须根据模型进行分配。我的是鼻针,所以我选择了NOSE_TIP。 然后点击分配。

现在要进行交叉检查,您可以取消选择模型,然后单击顶点组,然后单击分配按钮旁边的选择按钮,您会注意到现在已选择模型。

  1. 您需要添加修饰符。添加修饰符

enter image description here

i)单击修饰符选项。

ii)然后单击添加修饰符,您将看到一个下拉菜单,其中选择了电枢

iii)如上所示将其命名为资产,将对象选择为资产,然后如上所述选择Nose_TIP。

现在仅从资产中删除面网。

并导入模型。

答案 1 :(得分:2)

您遇到的三个可能的问题:

  • 一个pivot point的3D耳环模型与面部Anchor的位置不匹配。

    • 面锚和模型的枢轴点必须彼此对齐。
  • 3D模型的size / proportions与规范的面网格的size / proportions不匹配。

  • 您的3D模型中的pivot point沿Y轴的错误方向移动。

PS

如果您需要有关增强面部功能和面部锚定的更多详细信息,请阅读this post

请记住,对于Sceneform,Unity和Unreal,网格的方向是不同的。