Mit OpenXR entwickeln

XR‑Geräte, für die der Leitfaden gilt
Dieser Leitfaden hilft Ihnen dabei, Erlebnisse für die folgenden Arten von XR-Geräten zu entwickeln.
XR‑Headsets
Kabelgebundene XR‑Brillen

 

Das OpenXR-Textlogo

Android XR unterstützt Apps, die mit OpenXR erstellt wurden, durch die Unterstützung der OpenXR 1.1-Spezifikation und ausgewählter Anbietererweiterungen. OpenXR ist ein offener Standard, mit dem Sie immersive und interaktive Erlebnisse mit einer gemeinsamen Reihe von APIs auf einer Vielzahl von XR‑Geräten erstellen können.

Features

Android XR unterstützt Features, mit denen Sie Apps entwickeln können, die die einzigartigen Funktionen von XR‑Geräten mithilfe von OpenXR voll ausschöpfen. Dazu gehören die folgenden Features.

Framework für räumliche Entitäten
Eine einheitliche Grundlage für das Szenenverständnis und das räumliche Denken. Ermöglicht Anwendungen, physische räumliche Entitäten in der Umgebung zu erkennen, abzufragen und zu verfolgen, räumliche Anker zu erstellen, die an Entitäten angehängt sind, Raycasting für räumliche Entitäten durchzuführen und räumliche Entitäten über Anwendungssitzungen hinweg beizubehalten.
Trackables
Unterstützt die Ebenenerkennung, mit der flache Oberflächen in der Umgebung erkannt und verfolgt werden können, sodass virtuelle Objekte in Bezug auf die reale Welt platziert werden können, sowie Anker, virtuelle Referenzpunkte, die an realen Objekten oder Orten angebracht werden können, damit virtuelle Inhalte auch dann genau positioniert und ausgerichtet bleiben, wenn sich der Nutzer bewegt.
Raycasting
Eine Technik, mit der der Schnittpunkt zwischen einem virtuellen Strahl und Objekten in der Szene bestimmt wird, um Interaktionen wie das Auswählen und Bearbeiten virtueller Elemente zu ermöglichen.
Ankerpersistenz
Die Möglichkeit, Anker über mehrere Sitzungen hinweg zu speichern und wiederherzustellen, um virtuelle Inhalte dauerhaft und konsistent in der Umgebung zu platzieren.
Objekt-Tracking
Die Möglichkeit, Maus, Tastatur und andere Objekte in der realen Welt zu verfolgen.
QR‑Code-Tracking
Die Möglichkeit, QR‑Codes in der physischen Umgebung zu verfolgen und ihre Daten zu decodieren.
Tiefentexturen
Die Generierung von Tiefenkarten, die Informationen über die Entfernung zwischen der Kamera und Objekten in der Szene liefern, um realistischere Okklusions- und Interaktionseffekte zu ermöglichen.
Passthrough
Die Möglichkeit, Kameramaterial aus der realen Welt mit virtuellen Inhalten zu kombinieren, um ein Mixed-Reality-Erlebnis zu schaffen, das die physische und die digitale Welt nahtlos miteinander verbindet.
Szenen-Meshing
Die Möglichkeit, ein 3D‑Mesh der Umgebung zu erfassen, das für Physik, Okklusion und andere weltbezogene Interaktionen verwendet werden kann.
Passthrough für Kompositionsebene
Ermöglicht einen polygonalen Passthrough-Ausschnitt der Kompositionsebene, der verwendet werden kann, um Objekte aus der realen Welt in eine Szene einzufügen.
Gesichtstracking
Die Möglichkeit, die Gesichtszüge des Nutzers zu verfolgen, um realistischere und ausdrucksstärkere Avatare und virtuelle Charaktere zu erstellen.
Eye-Tracking
Liefert die Position und Ausrichtung des Auges des Nutzers, um die Augenposition für Avatare realistischer zu gestalten.
Hand tracking
Die Möglichkeit, die Position und Bewegung der Hände des Nutzers zu verfolgen.
Hand-Mesh
Bietet eine genaue Darstellung der Hände des Nutzers als Low-Poly-Mesh. Für die Übertragung von der Plattform zur Anwendung optimiert, um die bestmögliche Leistung zu erzielen. Das ist eine Alternative zu anderen Erweiterungen, die eine Bindepose und Mischgewichte verwenden.
Lichtschätzung
Wird für Beleuchtungsmodelle verwendet, um die Lichtverhältnisse der realen Welt des Nutzers nachzubilden.

Unterstützte Eingabegeräte

Android XR unterstützt auch die folgenden Eingabegeräte.

Handinteraktion
Die Erkennung bestimmter Handgesten wie Zwicken, Wischen und Zeigen, mit denen Nutzer mit virtuellen Objekten interagieren können.
Interaktion per Blick
Die Möglichkeit, die Augenbewegungen des Nutzers zu verfolgen, damit er virtuelle Objekte mit seinem Blick auswählen und mit ihnen interagieren kann.
6DoF‑Bewegungscontroller
Die Möglichkeit, die Position und Bewegung des Controllers sowie die Steuerkreuz- und Schaltflächenzuweisungen zu verfolgen, um Aktionen oder Hover-Ereignisse in der App auszulösen.
Mausinteraktion
Die Möglichkeit für Nutzer, mit Objekten im 3D‑Raum über einen Mauszeiger zu interagieren.

Unterstützte Leistungsfeatures

Android XR unterstützt die folgenden leistungsbezogenen Features.

Eye-Tracked Foveation
Ermöglicht einer App, Inhalte mit höherer Auflösung nur am Fokuspunkt der Augen zu rendern.
Space Warp
Verwendet Geschwindigkeitsvektoren und Tiefentexturinformationen, um Zwischenframes zu generieren, wodurch die Framerate effektiv erhöht wird, die erforderlich ist, um Nutzer in Ihre Erlebnisse einzutauchen.
Frame-Synthese
Verwendet von der Anwendung bereitgestellte Bewegungsvektoren und Framedaten, um Zwischenframes zu synthetisieren und so die visuelle Glätte und die Framerate zu verbessern.
Leistungsmesswerte
Bietet Android XR-Leistungsmesswerte zur Laufzeit von dem aktuellen XR‑Gerät, Compositor und der XR‑App. Dazu gehören die CPU- Framezeit, die GPU-Framezeit, die GPU-Auslastung, die CPU-Frequenz, die Frames pro Sekunde und mehr.

Eine vollständige Liste der unterstützten Features und Erweiterungen finden Sie in der OpenXR-Featureübersicht.

Unterstützte Engines

Die folgenden Engines werden für die OpenXR-Entwicklung mit Android XR unterstützt.

Unity

Die auf OpenXR basierende Unity-Unterstützung von Android XR ermöglicht Entwicklern, Erlebnisse mit Unity 6 zu erstellen. Weitere Informationen zum Erstellen von XR‑Apps mit Unity finden Sie in der Unity-Übersicht.


OpenXR™ und das OpenXR-Logo sind Marken von The Khronos Group Inc. und sind in China, der Europäischen Union, Japan und dem Vereinigten Königreich als Marke eingetragen.