2017-07-24 147 views
1

我有一个ARKit应用程序,它允许用户添加一个立方体到场景中。这工作正常,我可以看到多维数据集。但是,当我将应用程序推到背景,然后将设备移动到另一个位置时(通过步行到不同的房间),ARKit会话无法确定我的旧节点的正确位置。ARKit恢复会话

是否有无论如何我可以找到一个解决方法这个问题,以便当应用程序从后台恢复到前景时,它仍然记得节点的位置。

更新:我正在寻找保存经纬度和用户长,然后以某种方式转换那些拉特和长到SCNVector3放置节点。

回答

1

您可能无法使AR在后台运行。 Apple不建议暂停会话或中断会话并尝试恢复:

避免中断AR体验。如果用户转换到应用中的另一个全屏用户界面,则AR视图返回时可能不是预期状态。

使用辅助视图控制器的弹出窗口演示文稿(甚至在iPhone上)可以在调整设置或进行模式选择时使用户保持AR体验。在此示例中,SettingsViewControllerVirtualObjectSelectionViewController类使用弹出窗口演示。

的问题是,一旦会话被中断,设备停止使用它是保持AR节点的跟踪,以及你的定位机制,可能必须建立,保持在后台持续运行的应用程序的机制并通过它运行ARSession。您可以在github上找到允许在后台运行的项目。您可能会遇到的另一个问题是Apple在后台运行应用程序的局限性,which is apparently 3 minutes

如果您有兴趣重新启动您回来的AR会话,您可以看到my answer on this thread