我正在尝试相对于脸部移动节点,因此如果用户脸部向右移动,则钻石形状应该向右移动完全相同的x。我使用 ARFaceTrackingConfiguration 完美地完成了它。但是,如果iPhone和iPhone之间的距离很远渲染器委托方法不再触发的面。
所以我猜ARFaceTrackingConfiguration不适合长距离使用,因为它使用深度传感器,显然不支持它。
所以我的问题是,ARKit是否支持相对于物理对象添加节点,当此对象移动时,它会更新此对象的位置以便我可以更新节点?
答案 0 :(得分:1)
您似乎回答了自己的问题。
是的,使用ARKit(以及您选择的场景图/渲染器API,例如SceneKit),您可以放置虚拟内容,使其随着被跟踪的面移动。在ARSCNView
中,您需要做的就是将该内容指定为从renderer(_:didAdd:for:)
获得的节点的子节点 - 当ARKit报告面部移动时,SceneKit会自动处理移动节点。
如果ARKit无法跟踪脸部,因为它超出了TrueDepth相机的可用范围......那么它就不会跟踪脸部。 (欢迎使用tautology club。)这意味着它不知道脸部在哪里,无法告诉您脸部是如何移动的,因此无法自动移动虚拟内容以跟随面子。