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.