【问题标题】:Changed positions of SCNNodes after unwinding展开后改变 SCNNodes 的位置
【发布时间】:2018-06-29 16:09:13
【问题描述】:

我有一个 ARKit 视图(第一个视图),我在其中将节点设置到某些位置。然后,我想允许用户转到第二个视图,但也可以通过单击返回按钮返回到 ARKit 视图。该按钮会展开到 ARKit 视图,但当它展开时,节点的位置会根据手机的位置而改变。我可以以某种方式省略吗?无论手机的新位置如何,我都希望节点位于与第一次相同的位置

【问题讨论】:

    标签: swift arkit scnnode


    【解决方案1】:

    我认为你的挑战很难解决,事实上,当移动到第二个视图时,第一个视图的会话是“暂停”的,所以解决方案应该部分编码在“viewWillDisappear”函数中,但由于强大当会话暂停时,设备的运动感应硬件和摄像头之间存在来自这些元素的输入。

    我会尝试创建一个大的 ARanchor 平面(例如所有楼层)并确保在移动到第二个视图之前禁用平面检测,然后根据“presentation.position”重新启用(或不启用)检测"的节点。我的意思是在移动到第二个视图之前尝试存储所有存在的节点(相机、地板、节点等)的一些 node.presentation.position

    也许会尝试在锚定平面顶部使用一个大的 SCNBox 节点,然后将可见节点放在 SCNBox 内...

    【讨论】:

    • 谢谢,感谢您的回答。无论如何,我弹出了第二个视图,因此会话不会暂停。想法会更容易实现
    • 确实是聪明的解决方案,对用户来说非常 AR
    猜你喜欢
    • 2021-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 2020-02-12
    相关资源
    最近更新 更多