首页 文章

ARKIT 根据物理对象更改节点位置

提问于
浏览
0

我正在尝试相对于脸部移动节点,因此,如果用户脸部向右移动,则菱形形状应与 x 完全相同地向右移动。我已经使用ARFaceTrackingConfiguration完美地做到了。但是,如果 iPhone 与人脸之间的距离较大,则渲染器委托方法将不再触发。

因此,我猜想 ARFaceTrackingConfiguration 并不打算用于长距离,因为它使用的深度传感器显然不支持此功能。

所以我的问题是,ARKit 是否支持添加相对于物理对象的节点,并且当该对象移动时,它将使用该对象的位置来更新我,以便我可以更新该节点?

1 回答

  • 1

    您似乎已经回答了自己的问题。

    是的,使用 ARKit(以及您选择的场景图/渲染器 API,例如 SceneKit),您可以放置虚拟内容,使其随被跟踪的面部一起移动。在ARSCNView中,您所需要做的就是将该内容分配为从renderer(_:didAdd:for:)获得的节点的子级-每当 ARKit 报告面部已移动时,SceneKit 都会自动负责移动该节点。

    如果 ARKit 由于其不在 TrueDepth 相机的可用范围之内而无法跟踪该脸部,那么它就不会跟踪该脸部。 (欢迎使用_1_.),这意味着它不知道面部在哪里,无法告诉您面部如何移动,因此无法自动移动虚拟内容来跟随面部。

相关问题