Mit Ankern arbeiten

Mit Ankern kannst du virtuelle Objekte in einer AR-Szene an Ort und Stelle halten.

Vorteile von Ankern

Wenn sich das Umweltwissen von ARCore während eines AR-Erlebnisses aktualisiert, kann es so aussehen, als ob virtuelle Objekte von ihrer Position weggewischt werden. Dies kann sich auf den Realismus und die Nutzererfahrung Ihrer App auswirken.

Anker sorgen dafür, dass Objekte im Weltraum an derselben Position und Ausrichtung zu bleiben scheinen. So erhalten Sie die Illusion von virtuellen Objekten, die sich in der realen Welt befinden.

Funktionsweise von Ankern

Wenn du noch nie mit Ankern gearbeitet hast, solltest du dir einen Überblick über den Raum und deine Posen verschaffen.

  • Weltall

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

    • Stellt die Position und Ausrichtung eines Objekts im Weltraum dar
    • In iOS auch als Transformation bezeichnet

Wenn Sie einen Anker erstellen, verwenden Sie eine Pose, die eine Position und Ausrichtung relativ zur Raumschätzung der Welt für den aktuellen Frame beschreibt.

Sie hängen ein oder mehrere Objekte an diesen Anker an. Der Anker und die damit verbundenen Objekte scheinen an ihrer Position in der Welt zu bleiben. Wenn sich die Ankerposition an die Updates des Weltraums in jedem Frame anpasst, aktualisiert der Anker die Position der Objekte entsprechend.

Sie können mehrere Objekte mit demselben Anker verknüpfen, damit diese Objekte ihre relative Position und Ausrichtung beibehalten, auch wenn die Position des Ankers angepasst wird.

Anker in Ihrer Szene verwenden

Um Anker in Ihrer Szene zu verwenden, muss Ihr Code:

  • Erstellen Sie Anker im Kontext eines Trackables (z. B. einer Ebene) oder der ARCore-Sitzung.
  • Hiermit können Sie ein oder mehrere Objekte an den Anker anhängen.

Anker können verschiedene Arten von Positionsverhalten in den Objekten Ihrer Szene unterstützen.

Das Bestimmen des Ankerkontexts und die Anzahl der erforderlichen Anker für die Objekte Ihrer Szene hängt vom Positionsverhalten Ihrer AR-Szene ab. Weitere Informationen finden Sie in den folgenden Abschnitten.

Ankerkontext auswählen

Füge deiner Szene mit einem Trackable oder der ARCore-Sitzung Anker hinzu.

Wenn Sie möchten, dass Objekte Befestigen Sie den Dübel an der
Sie werden mit dem Trackable als „verschweißt“ angezeigt und haben dieselben Rotationseffekte wie das Trackable.
Dazu gehören:
  • Sie scheint an der Oberfläche eines Flugzeugs festzuhalten
  • Beibehalten einer Position relativ zu einem erfassbaren Element, z. B. darüber schweben oder davor
Erfassbar
Sie scheinen während der gesamten User Experience in derselben Pose zu bleiben. ARCore-Sitzung

Ein oder mehrere Objekte verankern

Sie können ein oder mehrere Objekte an einen Anker anhängen. Im Allgemeinen stehen diese Objekte in einer räumlichen Beziehung zu mindestens einem der folgenden Elemente:

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

Richtlinien für Anker

Der Realismus und die Leistung Ihrer App profitieren vom effektiven und effizienten Einsatz von Ankern.

Objekte, die an einem Anker in der Nähe angehängt sind, behalten ihren Platz während des AR-Erlebnisses realistisch und relativ zueinander.

Wenn Sie nur die benötigten Anker verwenden, können Sie die CPU-Kosten senken.

Nach Möglichkeit Anker 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.

Verwenden Sie einen neuen Anker für ein Objekt, wenn das Objekt eine einzigartige räumliche Beziehung zu einem Trackable oder einer Position im Weltraum beibehalten muss.

Wenn jedes Objekt in einer Szene einen eigenen Anker hat, passen diese Anker die Objektpositionen unabhängig voneinander an, wenn ARCore den Weltraum in jedem Frame einschätzt. Separat verankerte Objekte können sich relativ zueinander verschieben oder drehen. Dadurch entsteht der Eindruck einer AR-Szene, in der virtuelle Objekte relativ zueinander an Ort und Stelle bleiben sollten.

Beispiel
Angenommen, Nutzer können mit Ihrer App virtuelle Möbel in einem Raum platzieren. Ein Nutzer öffnet die App und ARCore beginnt, eine Tischplatte und einen Boden im Raum als Flugzeuge zu verfolgen. Die Person stellt eine virtuelle Lampe auf die Tischplatte. Dann stellt die nutzende Person einen virtuellen Stuhl auf den Boden.

An dieser Stelle sollte für Ihre Szene ein Anker an der Tischebene und ein weiterer an der Grundfläche befestigt sein.

Wenn der Nutzer der Tischplatte eine weitere virtuelle Lampe hinzufügt, können Sie den bereits an der Tischplatte befestigten Anker wiederverwenden. Auf diese Weise scheinen beide Lampen an der Tischebene zu blieben und ihre Position relativ zueinander zu fixieren. Außerdem behält der Stuhl seine Position relativ zur Grundfläche bei.

Objekte nahe an Ankern platzieren

Achten Sie beim Verankern von Objekten darauf, dass sie sich in der Nähe des verwendeten Ankers befinden. Platzieren Sie Objekte nicht weiter als 8 Meter vom Anker entfernt. So vermeiden Sie unerwartete Drehbewegungen aufgrund der Aktualisierungen der Weltraumkoordinaten durch ARCore.

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

Nicht verwendete Anker entfernen

Entfernen Sie alle Anker, die Sie nicht mehr benötigen, um die Leistung Ihrer Anwendung zu steigern.

Deine App verursacht CPU-Kosten für jeden Trackable und ARCore gibt keine Trackables mit angehängten Ankern frei.

Arten von Ankern

Ankertypen unterscheiden sich durch ihren Gültigkeitsbereich, von lokal bis weltweit.

  • Lokale Anchors werden lokal mit der Anwendung gespeichert und sind nur für diese Instanz der App gültig. Der Nutzer muss sich an dem Standort befinden, an dem er sich befindet.

  • Cloud Anchors werden in Google Cloud gespeichert und können von Anwendungsinstanzen gemeinsam genutzt werden. Der Nutzer muss sich an dem Ort befinden, an dem der Anker platziert wird.

  • Raumbezogene Anker basieren auf geodätischen Breiten-, Längengrad- und Höhendaten sowie auf VPS-Daten (Visual Positioning System) von Google. Dadurch kann der genaue Standort nahezu überall auf der Welt bestimmt werden. Der Nutzer kann einen Anker von einem Remotestandort aus platzieren, sofern die App mit dem Internet verbunden ist und den VPS verwenden kann.