Bei Treffertests werden virtuelle Objekte in der realen Welt platziert

Plattformspezifische Leitfäden

Android (Kotlin/Java)

Android NDK (C)

Unity (AR Foundation)

AR-Inhalte müssen richtig platziert und in ihrer Größe angepasst werden, damit sie sich in eine Szene einfügen. Wie reale Objekte sollten auch virtuelle Objekte, die weiter weg sind, kleiner erscheinen. Sie können einen Treffertest (oder einen Raycast in der AR Foundation for Unity) durchführen, um die korrekte Position eines 3D-Objekts in Ihrer Szene zu bestimmen. Durch die richtige Platzierung wird sichergestellt, dass die AR-Inhalte in der richtigen (offenen) Größe gerendert werden.

Treffertests finden Überschneidungen zwischen der realen 3D-Geometrie und einem virtuellen Strahl, der aus einem Ursprung und einer Richtung besteht. Am häufigsten werden Strahlen mit der Kamera des Geräts als Ursprung verwendet. ARCore enthält jedoch eine API zur Durchführung von Treffertests mit einem beliebigen Strahl in Weltraumkoordinaten.

Stellen Sie sich vor, dass ein Strahl von der Kamera eines Nutzers aus sich nach vorn erstreckt, bis er die 3D-Geometrie der Szene erreicht, z. B. einen Boden, eine Wand oder ein Objekt. Sie erhalten dann eine Liste der Trefferergebnisse oder Schnittpunkte mit erkannter Szenengeometrie. Die Liste wird nach der Entfernung zum Gerät sortiert, wobei die nächstgelegene Kreuzung zuerst angezeigt wird. Dies ist wichtig, da Sie im Allgemeinen keine Objekte sehen können, die sich hinter anderen Objekten verstecken. Daher ist das erste Ergebnis meist das bedeutendste Ergebnis.

Inhalt eines Trefferergebnisses

Ein einzelnes Trefferergebnis wird als Liste mit den folgenden Informationen zu jedem Ergebnis zurückgegeben:

  • Entfernung vom Strahlursprung in Metern
  • Position (Position und Ausrichtung) des Trefferergebnisses
  • Die getroffene 3D-Geometrie in Form eines nachverfolgbaren

Anschließend können Sie das gewünschte Trefferergebnis verwenden, um Ihren 3D-Content mithilfe eines Ankers realistisch zu platzieren.

Trefferergebnistypen

Es gibt vier Arten von Trefferergebnissen: Tiefe, Ebene, Elementpunkt und Sofortplatzierung. Jeder hat seine eigenen Anwendungsfälle und Vor- und Nachteile, wie in der folgenden Tabelle dargestellt.

Trefferergebnistyp Beschreibung Ausrichtung Anwendungsfall
Tiefe Es werden Tiefeninformationen aus der gesamten Szene verwendet, um die korrekte Tiefe und Ausrichtung eines Punkts zu bestimmen. Senkrecht zur 3D-Oberfläche Platziere ein virtuelles Objekt auf einer beliebigen Oberfläche (nicht nur auf Böden und Wänden).
Flugzeug trifft auf horizontale und/oder vertikale Oberflächen, um die korrekte Tiefe und Ausrichtung eines Punkts zu bestimmen Senkrecht zur 3D-Oberfläche Platzieren Sie ein Objekt mithilfe der kompletten Geometrie des Flugzeugs auf einer Ebene (Boden oder Wand). Die richtige Skala muss sofort korrigiert werden. Fallback für den Depth-Treffertest
Elementpunkt Es basiert auf visuellen Elementen um den Punkt herum, an dem der Nutzer tippt, um die korrekte Position und Ausrichtung eines Punkts zu bestimmen. Senkrecht zur 3D-Oberfläche Platzieren Sie ein Objekt auf einer beliebigen Oberfläche (nicht nur auf Böden und Wänden).
Sofortige Platzierung (Persistent Raycast) Nutzt Platz auf dem Bildschirm, um Inhalte zu platzieren. Zu Beginn wird die von der App zur Verfügung gestellte geschätzte Tiefe verwendet. Funktioniert sofort, aber Pose und tatsächliche Tiefe ändern sich, sobald ARCore die Geometrie der Szene ermittelt hat. +Y nach oben, gegenüber der Schwerkraft Platzieren Sie ein Objekt unter Verwendung der kompletten Geometrie auf einer Ebene (Boden oder Wand), wobei eine schnelle Platzierung entscheidend ist und das Erlebnis eine unbekannte anfängliche Tiefe und Größe tolerieren kann.

Eingeschränkte Gerätekompatibilität

Treffertests können auf allen mit ARCore unterstützten Geräten durchgeführt werden. Für solche Tests sind jedoch Geräte mit Tiefenunterstützung erforderlich.

AR-Inhalte mithilfe von Trefferergebnissen platzieren

Sobald Sie ein Trefferergebnis haben, können Sie dessen Pose als Eingabe verwenden, um AR-Inhalte in Ihrer Szene zu platzieren.