2017-07-24 5 views
1

Ich habe eine ARKit App, die es dem Benutzer erlaubt, der Szene einen Würfel hinzuzufügen. Das funktioniert gut und ich kann den Würfel sehen. Aber wenn ich die App in den Hintergrund verschiebe und das Gerät dann an einen anderen Ort verschiebe (indem ich in einen anderen Raum gehe), kann die ARKit Sitzung die korrekte Position meiner alten Knoten nicht bestimmen.ARKit Wiederaufnahme der Sitzung

Gibt es trotzdem ich kann eine Problemumgehung dieses Problem finden, so dass, wenn die App wieder in den Vordergrund aus dem Hintergrund kommt dann immer noch die Position der Knoten erinnert.

UPDATE: Ich bin in das Speichern der lat und lang für den Benutzer und dann irgendwie konvertieren diese Lat und lang zu SCNVector3, um den Knoten zu setzen.

Antwort

1

Sie können das AR wahrscheinlich nicht im Hintergrund laufen lassen. Apple empfiehlt nicht, die Sitzung anzuhalten oder zu unterbrechen und zu versuchen, fortzufahren:

Vermeiden Sie die Unterbrechung der AR-Erfahrung. Wenn der Benutzer in Ihrer App zu einer anderen Vollbild-Benutzeroberfläche wechselt, ist die AR-Ansicht möglicherweise kein erwarteter Status, wenn Sie zurückkommen.

Verwenden Sie die Popover-Präsentation (auch auf dem iPhone) für zusätzliche Ansichts-Controller, um den Benutzer in der AR-Erfahrung zu halten, während Sie die Einstellungen anpassen oder eine modale Auswahl treffen. In diesem Beispiel verwenden die Klassen SettingsViewController und VirtualObjectSelectionViewController die Popover-Präsentation.

Das Problem ist, dass, sobald die Sitzung unterbrochen wird, stoppt das Gerät es Mechanismen, die Spur von AR-Knoten sowie Ihre Position zu halten, könnte einen Mechanismus einzurichten, die die App ständig im Hintergrund laufen halten und führen Sie die ARSession durch. Sie können möglicherweise Projekte auf GitHub finden, die im Hintergrund ausgeführt werden können. Ein weiteres Problem, mit dem Sie möglicherweise konfrontiert werden, sind Apples Einschränkungen beim Ausführen von Apps im Hintergrund, which is apparently 3 minutes.

Wenn Sie überhaupt daran interessiert sind, die AR-Sitzung neu zu starten, in die Sie zurückgekehrt sind, können Sie my answer on this thread sehen.

Verwandte Themen