Geeigneten Zentrum-Modus auswahlen
Inhalte korrekt zu platzieren hangt entscheidend davon ab, den passenden Zentrum-Modus zu wahlen. In diesem Abschnitt erfahren Sie, wie Sie verfugbare Zentrum-Modi abrufen und andern und worauf Sie bei der Auswahl achten sollten.
Vor dem Start
- Lesen Sie AR Session einfuhren, um die grundlegenden Konzepte, Bestandteile und den Ablauf einer Session kennenzulernen.
- Lesen Sie Zentrum-Modus der AR Session, um das Grundkonzept des Zentrum-Modus und seinen Einfluss auf das Bewegungsverhalten von Objekten in der Szene zu verstehen.
Verfugbare Zentrum-Modi abrufen
Zur Laufzeit werden im Center-Dropdown des Inspector-Fensters nur die Zentrum-Modi angezeigt, die fur die aktuelle Session verfugbar sind. Wenn die Session nicht gestartet ist, werden alle Zentrum-Modi angezeigt.

Die Abbildung zeigt die fur eine Session verfugbaren Zentrum-Modi bei Verwendung von CameraDeviceFrameSource im Editor.
Im Skript kann die Liste der fur die aktuelle Session verfugbaren Zentrum-Modi nach erfolgreichem Zusammenbauen der Session uber die Eigenschaft ARSession.AvailableCenterMode abgerufen werden.
Das folgende Beispiel zeigt, wie gepruft wird, ob ein bestimmter Zentrum-Modus in der aktuellen Session verfugbar ist:
if (Session.AvailableCenterMode.Contains(mode))
{
// mode ist in der aktuellen Session verfugbar
}
Zentrum-Modus andern
Offnen Sie das Inspector-Fenster und wahlen Sie im Center-Dropdown den gewunschten Zentrum-Modus aus.

Im Skript kann der Zentrum-Modus uber die Eigenschaft ARSession.CenterMode geandert werden.
Das folgende Beispiel zeigt, wie zwischen den verfugbaren Zentrum-Modi zyklisch gewechselt wird:
while (true)
{
Session.CenterMode = (ARSession.ARCenterMode)(((int)Session.CenterMode + 1) % Enum.GetValues(typeof(ARSession.ARCenterMode)).Length);
if (Session.AvailableCenterMode.Contains(Session.CenterMode)) { break; }
}
Bei jedem Update-Frame der Session wird gepruft, ob der aktuelle Zentrum-Modus gultig ist. Wenn ja, versucht die Session sofort, den neuen Zentrum-Modus zu verwenden.
Im Video oben wird die Session zunachst im Modus FirstTarget ausgefuhrt, wobei das Zentrumobjekt der Weihnachtsbaum ist (hellblaue Punktwolke). Anschlieend andern wir den Zentrum-Modus manuell zu Camera. Das Zentrumobjekt wird dann zur Kamera (blauer Kegel). Eine detaillierte Beschreibung des Videos finden Sie unter Zentrum-Modus der AR Session.
Wenn der geanderte Zentrum-Modus in der aktuellen Session ungultig ist, wird die Eigenschaft CenterMode automatisch auf den ersten verfugbaren Zentrum-Modus zuruckgesetzt (normalerweise FirstTarget oder SessionOrigin) und eine Warnung im Log ausgegeben:
Center mode {Value} is unavailable in this session, reset to {NewValue}.
Wie man den Zentrum-Modus auswahlt
Die Ausrichtung an Objekten der realen Welt ist eine Kernanforderung bei der Erstellung von AR-Inhalten. Der Zentrum-Modus bestimmt, welches Objekt die Session als Bezugspunkt verwendet, um Position und Ausrichtung anderer Objekte in der Szene zu berechnen. Daher ist die Wahl des passenden Zentrum-Modus entscheidend.
Allgemeine Empfehlung
In vielen Fallen ist es angenehmer, den Modus FirstTarget oder SpecificTarget zu verwenden und target als Zentrum fur die Inhaltsgestaltung zu nutzen. So bleibt der Bezugspunkt von Inhalten unter target stabil und wird nicht unnokig durch Bewegungen des XR Origin oder der camera beeinflusst (zum Beispiel bei Berechnungen des Physiksystems). Das ist jedoch nicht absolut:
Wenn Sie unsicher sind, verwenden Sie den Standardwert, also den Zentrum-Modus FirstTarget. Da die meisten AR-Funktionen Ungenauigkeiten haben und diese wahrend der Laufzeit kontinuierlich korrigiert werden, konnen Objekte, die in der realen Welt scheinbar unbeweglich sind (zum Beispiel das
targeteiner Sparse Spatial Map oder dasXR Originbeim Motion Tracking), in der virtuellen Welt tatsachlich relativ zueinander bewegt erscheinen. In diesem Fall entspricht die Verwendung vontargetals Zentrum eher den Anforderungen an die Inhaltsgestaltung als die Verwendung vonXR Origin.Wenn mehrere
targetgleichzeitig verfolgt werden
Auch hier konnen sich dietargetaufgrund von Mess- und Berechnungsfehlern relativ zueinander bewegen, selbst wenn sie in der realen Welt stationar sind. Die Auswahl des Zentrumobjekts hangt dann von den konkreten Anforderungen ab. In der Regel ist der Modus FirstTarget die geeignetere Wahl.Wann der Modus SessionOrigin verwendet werden sollte
SessionOrigin eignet sich fur Szenen, in denen nur Motion Tracking lauft. In diesem Fall ist dasXR Originder einzige Bezugspunkt. Er eignet sich auch fur spezielle Falle, in denen der Hersteller des Headsets den Bezugspunkt des Motion Trackings nicht korrekt implementiert hat; dann muss der Unity-Weltmittelpunkt verwendet werden, also SessionOrigin.Einsatzszenarien fur den Modus Camera
Camera eignet sich besser fur Szenen, in denen die physische Kamera unbewegt bleibt, zum Beispiel bei Kartenkampf-AR mit fester Kamera. In solchen Fallen ist dieser Modus fur die Inhaltserstellung praktischer.
Haufig verwendete Zentrum-Modi fur verschiedene AR-Funktionen
Bei der getrennten Verwendung einzelner AR-Funktionen sind bestimmte Zentrum-Modi haufiger im Einsatz. Die folgende Tabelle zeigt die ubliche Wahl:
| Funktion | Haufig verwendeter Zentrum-Modus |
|---|---|
| Mega | FirstTarget oder SpecificTarget |
| Motion Tracking | SessionOrigin |
| Plane Detection | SessionOrigin |
| Sparse Spatial Map | FirstTarget oder SpecificTarget |
| Dense Spatial Map | SessionOrigin |
| Surface Tracking | FirstTarget oder SpecificTarget |
| Image Tracking | FirstTarget, SpecificTarget oder Camera |
| Cloud Image Recognition | FirstTarget, SpecificTarget oder Camera |
| Object Tracking | FirstTarget, SpecificTarget oder Camera |
Punkte, die bei gerateubergreifenden Anwendungen zu beachten sind
Bei der Entwicklung gerateubergreifender AR-Anwendungen muss die Unterstutzung der unterschiedlichen Gerate fur Zentrum-Modi berucksichtigt werden.
- Wenn nur Smartphones und Tablets beteiligt sind, gibt es normalerweise keine groben Probleme. Falls SessionOrigin verwendet werden soll, muss sichergestellt sein, dass Motion Tracking lauffahig ist.
- Wenn Headsets unterstutzt werden sollen, ist besondere Vorsicht notig.
- Lesen Sie Gultige Zentrum-Modi, um zu prufen, welche Zentrum-Modi die verwendeten Gerate unterstutzen. Wenn Sie eine Drittanbieter-Erweiterung verwenden, beachten Sie OriginType, das diese Erweiterung nutzt.
- Verwenden Sie auf Rokid-Geraten moglichst nicht UXR. Mit XRI sind die meisten Zentrum-Modi verfugbar.
- Auf Headsets, die FirstTarget und SpecificTarget nicht unterstutzen, ist zu beachten, dass sich Inhalte bei Mega oder Image Tracking in der Regel nicht relativ zum Unity-Weltkoordinatensystem ruhig verhalten lassen.
Inhalte, die in jedem Zentrum-Modus korrekt angezeigt werden
Warnung
In Unity AR konnen alle Objekte, die sich im Unity-Weltkoordinatensystem befinden und deren Transform nicht anhand der Session-Komponenten angepasst wurde, moglicherweise nicht korrekt angezeigt werden.
Wenn im Weltkoordinatensystem Modelle platziert sind, konnen deren Position und Ausrichtung zu keinem realen Objekt passen. Zur Laufzeit kann das zufallig korrekt aussehen, oder es wirkt, als schwebten die Modelle in der Luft oder bewegten sich wild.
Damit Inhalte in jedem Zentrum-Modus korrekt angezeigt werden, ist folgendes Vorgehen richtig:
- Platzieren Sie die anzuzeigenden Inhalte immer unter dem entsprechenden
target-Knoten oder unter demXR Origin-Knoten (wenn die Inhalte der Bewegung des XR Origin folgen sollen). - Oder richten Sie Inhalte und
targetbzw.XR Originmanuell aus, aber tun Sie dies erst nach dem Ereignis ARSession.PostSessionUpdate.
Anmerkung
Das garantiert nicht, dass alle Inhaltselemente einwandfrei funktionieren, da manche Unity-Funktionen nur im Weltkoordinatensystem arbeiten (zum Beispiel das Physiksystem). Die Wahl des passenden Zentrum-Modus bleibt daher wichtig.