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

问题描述 投票:0回答:1

我试图相对于一个面移动一个节点,所以如果用户面向右移动,钻石形状应该向右移动完全相同的x。我使用ARFaceTrackingConfiguration完美地完成了它。但是,如果iPhone和脸部之间的距离很远,则渲染器委托方法不再触发。

所以我猜ARFaceTrackingConfiguration不适合长距离使用,因为它使用深度传感器,显然不支持它。

所以我的问题是,ARKit是否支持相对于物理对象添加节点,当这个对象移动时,它会更新我对这个对象的位置,以便我可以更新节点?

ios swift arkit
1个回答
1
投票

你好像回答了自己的问题。

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

如果ARKit无法跟踪脸部,因为它超出了TrueDepth相机的可用范围......那么它就不会跟踪脸部。 (欢迎来到tautology club。)这意味着它不知道脸部在哪里,无法告诉你脸部是如何移动的,因此无法自动移动虚拟内容来跟随脸部。

© www.soinside.com 2019 - 2024. All rights reserved.