【发布时间】:2018-06-29 16:09:13
【问题描述】:
我有一个 ARKit 视图(第一个视图),我在其中将节点设置到某些位置。然后,我想允许用户转到第二个视图,但也可以通过单击返回按钮返回到 ARKit 视图。该按钮会展开到 ARKit 视图,但当它展开时,节点的位置会根据手机的位置而改变。我可以以某种方式省略吗?无论手机的新位置如何,我都希望节点位于与第一次相同的位置
【问题讨论】:
我有一个 ARKit 视图(第一个视图),我在其中将节点设置到某些位置。然后,我想允许用户转到第二个视图,但也可以通过单击返回按钮返回到 ARKit 视图。该按钮会展开到 ARKit 视图,但当它展开时,节点的位置会根据手机的位置而改变。我可以以某种方式省略吗?无论手机的新位置如何,我都希望节点位于与第一次相同的位置
【问题讨论】:
我认为你的挑战很难解决,事实上,当移动到第二个视图时,第一个视图的会话是“暂停”的,所以解决方案应该部分编码在“viewWillDisappear”函数中,但由于强大当会话暂停时,设备的运动感应硬件和摄像头之间存在来自这些元素的输入。
我会尝试创建一个大的 ARanchor 平面(例如所有楼层)并确保在移动到第二个视图之前禁用平面检测,然后根据“presentation.position”重新启用(或不启用)检测"的节点。我的意思是在移动到第二个视图之前尝试存储所有存在的节点(相机、地板、节点等)的一些 node.presentation.position
也许会尝试在锚定平面顶部使用一个大的 SCNBox 节点,然后将可见节点放在 SCNBox 内...
【讨论】: