ARCore - 物体在面部增强中未正确显示深度

3

我试图将一个物体放在脸上,但不知道如何设置物体的深度。

例如当我添加3D物体如眼镜框架到脸上时,

它不能以正确的深度显示。


你需要使用适当的模型。对于眼镜,你可以在网上找到相关资源。如果你没有找到合适的,就让我知道,我会发送示例代码。 - Krishna kushwaha
2个回答

3
当您使用增强人脸功能时,请注意,如果检测到任何脸部,ARCore首先会放置一个面锚点(必须位于鼻子后面或更精确地说,位于头骨内部),然后ARCore放置一个规范掩码-其枢轴点与锚点相同。
因此,如果您想在适当的深度上放置眼镜-请将3D对象的枢轴点设置为与规范掩码上设置的方式相同。换句话说-让这些枢轴点结合起来。

1
感谢您的指南。您能告诉我如何将枢轴点设置到3D对象吗?这是由Android代码完成还是设计师的任务? - Sonam Gupta
最简单的设置方法是在3D制作应用程序中进行设置。例如,在Autodesk Maya中,您可以按照以下方式进行操作:https://knowledge.autodesk.com/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2018/ENU/Maya-Basics/files/GUID-150B390E-840B-4FE3-B8E9-8DEBCE7CEC97-htm.html - Andy Jazz
通过在Blender中更改原点,它会以相同的方式工作吗? 我正在尝试将原点放在眼镜前面,以便它可以适合NOSE_TIP,但它不适合。 - UrielUVD
抱歉,我不使用Blender。 - Andy Jazz

0
另一种方法是从这里获取规范的面部网格。

https://github.com/google-ar/arcore-android-sdk/blob/master/assets/canonical_face_mesh.fbx

正如Kristina Simakova在这篇博客文章中所描述的那样: https://creativetech.blog/home/try-on-glasses-arcore-augmented-faces

在blender中,您可以将任何模型放置在面网格上的任何位置, 同时保持比例非常重要。 还有一个非常重要的部分:

根据ARCore文档的说明,将玻璃模型添加到“asset”对象下。查看这个简短的教程,了解Blender中的父子关系。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接