2017-07-24 187 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