Mit Ankern arbeiten

Mit Ankern sorgen Sie dafür, dass virtuelle Objekte so aussehen, als wären sie in einer AR-Szene.

Vorteile von Ankeranzeigen

Da das Umgebungsverständnis von ARCore im AR-Bereich aktualisiert wird, kann es vorkommen, dass virtuelle Objekte vom Objekt wegfließen. Das kann die Realität Ihrer App und die Nutzererfahrung beeinträchtigen.

Anker sorgen dafür, dass Objekte an derselben Position und in derselben Ausrichtung bleiben, was den Eindruck von virtuellen Objekten vermittelt, die in der realen Welt platziert sind.

Funktionsweise von Ankeranzeigen

Wenn Sie Ankeranzeigen zum ersten Mal verwenden, sollten Sie sich den Überblick über den Weltraum und die Posen verschaffen.

  • Weltall

    • Koordinatensystem platzieren, in dem die Kamera und Objekte platziert werden
    • Kamera- und Objektpositionen werden im Weltraum von Frame zu Frame aktualisiert
  • Pose

    • Die Position und Ausrichtung eines Objekts im Weltraum
    • Wird unter iOS auch als transform bezeichnet

Beim Erstellen eines Ankers verwendest du eine Pose, die eine Position und die Ausrichtung relativ zum Weltraumschätzung für den aktuellen Frame beschreibt.

An diesen Anker werden ein oder mehrere Objekte angehängt. Der Anker und die zugehörigen Objekte bleiben an ihrem jeweiligen Ort. Da sich der Anker an die Frame-welt-Updates in jedem Frame anpasst, wird er entsprechend aktualisiert.

Du kannst mehrere Objekte an demselben Anker anhängen, damit diese Objekte auch ihre relative Position und Ausrichtung beibehalten, auch wenn sich die Ankerpunkte anpassen.

Ankerpunkte in der Szene verwenden

Damit Sie Anker in Ihrer Szene verwenden können, muss Ihr Code so aussehen:

  • Erstelle Ankeranzeigen im Kontext einer erfassbaren Aufzeichnung (z. B. einer Ebene) oder einer ARCore-Sitzung.
  • Hängen Sie mindestens ein Objekt an den Anker an.

Anker können verschiedene Arten von Positionsverhalten in Ihren Szene-Objekten unterstützen.

Wie der Ankerkontext bestimmt und wie viele Anker für die Szenen-Objekte erforderlich sind, hängt von dem für eure AR-Szene erforderlichen Positionsverhalten ab. Weitere Informationen finden Sie in den folgenden Abschnitten.

Ankerkontext auswählen

Mithilfe einer erfassbaren Aufzeichnung oder einer ARCore-Sitzung können Ankerpunkte zur Szene hinzugefügt werden.

Wenn Sie möchten, dass Objekte Dübel an der
Erscheint dem „Trackable“ (erfasst) und unterliegen denselben Rotationseffekten wie das Tracking.
Dazu gehören:
  • Anscheinend an einer Oberfläche haften
  • Eine Position relativ zu einem erfassbaren Track beibehalten, z. B. darüber oder davor
Nachverfolgbar
Nutzer bleiben während des gesamten Kaufprozesses im gleichen Raum ARCore-Sitzung

Ein oder mehrere Objekte verankern

Sie können ein oder mehrere Objekte an einem Anker anhängen. Im Allgemeinen haben diese Objekte eine räumliche Beziehung zu einem oder mehreren der folgenden:

  • einander
  • Ein erfassbares Element, z. B. eine Flugzeug
  • Eine Position im Weltall

Richtlinien für Ankeranzeigen

Mit deiner App lassen sich Ankeranzeigen effizient und effizient einsetzen.

Objekte, die an einem nahe gelegenen Anker positioniert sind, scheinen ihren Platz realistisch und relativ zueinander im gesamten AR-Erlebnis zu halten.

Die Verwendung der nur erforderlichen Ankerpunkte senkt die CPU-Kosten.

Anker wenn möglich wiederverwenden

In den meisten Fällen sollten Sie denselben Anker für mehrere Objekte in der Nähe verwenden, anstatt für jedes Objekt einen neuen Anker zu erstellen.

Verwende einen neuen Anker für ein Objekt, wenn du eine einzigartige räumliche Beziehung zu einem erfassbaren Element oder einer Position im Weltraum aufrechterhalten möchtest.

Wenn jedes Objekt in einer Szene einen eigenen Anker hat, passt das Objekt die Posen unabhängig voneinander als Reaktion auf die ARCore-Schätzung des Weltraums in jedem Frame an. Mehrere verankerte Objekte können relativ zueinander verschoben oder gedreht werden, um den Eindruck von AR-Szenen zu lösen, in denen virtuelle Objekte relativ zueinander verbleiben sollen.

Beispiel
Stellen Sie sich einmal vor, dass Ihre App Nutzern ermöglicht, virtuelle Möbelstücke in einem Raum zu platzieren. Ein Nutzer öffnet die App und ARCore erfasst die Daten einer Tische und Etage im Raum als Flugzeuge. Der Nutzer positionieren eine virtuelle Lampe auf dem Tisch. Dann legt er einen virtuellen Stuhl auf den Boden.

An dieser Stelle sollte Ihre Szene einen Anker an der Ebene der Tischplatte und einen weiteren an der Ebene der Bodenebene enthalten.

Wenn der Nutzer eine weitere virtuelle Lampe an der Tischplatte hinzufügt, können Sie den bereits an der Tischplatte befestigten Anker wiederverwenden. Auf diese Weise bleiben die beiden Lampen an der Tischebene fest und halten ihre Position zueinander. Der Stuhl hält seine Position relativ zur Bodenebene.

Gegenstände in der Nähe von Ankern platzieren

Achte darauf, dass sich die Ankerobjekte in der Nähe des Ankers befinden, den du verwendest. Platzieren Sie Objekte nicht weiter als 8 m oder 26 m von dem Anker entfernt, um eine unerwartete Rotationsbewegung aufgrund von Aktualisierungen der Weltraumkoordinaten zu vermeiden.

Wenn Sie ein Objekt platzieren möchten, das mehr als 8 m von einem vorhandenen Anker entfernt ist, erstellen Sie einen neuen Anker, der näher an dieser Position ist, und hängen Sie das Objekt an den neuen Anker an.

Nicht verwendete Anker entfernen

Trennen Sie Anker, die Sie nicht mehr benötigen, um die Leistung Ihrer App zu steigern.

Für deine App werden für jeden erfassbaren Track CPU-Kosten berechnet und ARCore gibt keine Trackables mit angehängten Ankern aus.

Arten von Ankern

Ankertypen unterscheiden sich durch den Gültigkeitsbereich, der in ihrer Region gültig ist.

  • Lokale Anchors werden lokal in der App gespeichert und sind nur für diese Instanz der App gültig. Der Nutzer muss sich an dem Ort befinden, an dem er platziert wird.

  • Cloud-Anker werden in Google Cloud gespeichert und können zwischen App-Instanzen geteilt werden. Der Nutzer muss sich an dem Ort befinden, an dem er platziert wird.

  • Raumbezogene Anker basieren auf geodätischen Längen- und Breitengraden sowie auf Daten aus dem Visual Positioning System (VPS) von Google, die eine genaue Platzierung auf der ganzen Welt ermöglichen. Diese Anker können zwischen App-Instanzen gemeinsam genutzt werden. Der Nutzer kann einen Anker von einem Remote-Standort aus platzieren, wenn die App mit dem Internet verbunden ist und den VPS verwenden kann.