Mit unterstützten OpenXR-Erweiterungen entwickeln

Android XR unterstützt OpenXR über die OpenXR 1.1-Spezifikation und eine lange Liste von Erweiterungen von Drittanbietern. Mit diesen Erweiterungen können Sie XR-Anwendungen auf die gewohnte Weise entwickeln. Für einige dieser Funktionen sind Android-Laufzeitberechtigungen erforderlich. Wenn Sie direkt auf den OpenXR-APIs aufbauen möchten, finden Sie die erforderlichen Header-Dateien in diesem Repository.

Android XR-Anbietereinstellungen

Name der Erweiterung

Beschreibung

XR_ANDROID_composition_layer_passthrough_mesh

Ermöglicht der App, Passthrough-Texturen über eine zusätzliche Kompositionsebene auf beliebige Geometrie zu projizieren. Für diese Erweiterung ist android.permission.SCENE_UNDERSTANDING_COARSE erforderlich.

XR_ANDROID_depth_texture

Stellt rohe und geglättete Tiefe für Verdeckung, Treffertests und andere spezifische Aufgaben bereit, die eine genaue Szenengeometrie erfordern, z. B. die Erkennung gefälschter Gesichter. Stellt eine Tiefentextur mit niedriger Auflösung und das Konfidenzniveau einer Szene aus den aktuellen Kamera-/Augenpositionen bereit. Für diese Erweiterung ist android.permission.SCENE_UNDERSTANDING_FINE erforderlich.

XR_ANDROID_device_anchor_persistence

Ermöglicht der Anwendung, Anker auf dem aktuellen Gerät, in verschiedenen Anwendungen und Gerätesitzungen beizubehalten, abzurufen und zu entfernen. Für diese Erweiterung ist android.permission.SCENE_UNDERSTANDING_COARSE erforderlich.

XR_ANDROID_eye_tracking

Ermöglicht der Anwendung, die Position und Ausrichtung der Augen des Nutzers zu ermitteln, um die Darstellung von Augenpose und -status für Avatare realistischer zu gestalten. Verwenden Sie diese Erweiterung nicht für andere Zwecke im Zusammenhang mit Eye-Tracking. Verwenden Sie für die Interaktion stattdessen XR_EXT_eye_gaze_interaction. Für diese Erweiterung ist android.permission.EYE_TRACKING_COARSE oder android.permission.EYE_TRACKING_FINE erforderlich.

XR_ANDROID_face_tracking

Ermöglicht der Anwendung, Gewichte von Blendshapes abzurufen und Gesichtsausdrücke in XR-Erlebnissen zu rendern. Für diese Erweiterung ist android.permission.FACE_TRACKING erforderlich.

XR_ANDROID_hand_mesh

Ermöglicht die Eingabe über Handtracking, die als dynamisches Hand-Mesh dargestellt wird. Diese Erweiterung soll Vertex- und Indexpuffer für das Mesh einer personalisierten Darstellung der Hände des Nutzers bereitstellen. Für das Tracking von Handgelenken sollte XR_EXT_hand_tracking und für Interaktionen XR_EXT_hand_interaction verwendet werden. Für diese Erweiterung ist android.permission.HAND_TRACKING erforderlich.

XR_ANDROID_light_estimation

Schätzt die Umgebungsbeleuchtung (einschließlich sphärischer Harmonischer) der aktuellen Umgebung eines Nutzers. Mit dieser Erweiterung kann die Anwendung Daten anfordern, die die Beleuchtung der realen Umgebung um das Headset herum darstellen. Diese Informationen können verwendet werden, um virtuelle Objekte so zu rendern, dass sie unter denselben Bedingungen beleuchtet werden wie die Szene, in der sie platziert sind. Für diese Erweiterung ist android.permission.SCENE_UNDERSTANDING_COARSE erforderlich.

XR_ANDROID_mouse_interaction

Diese Erweiterung führt ein neues Interaktionsprofil ein, das speziell für die Eingabe über das OpenXR-Aktionssystem mit Mausgeräten entwickelt wurde. Ermöglicht häufig verwendete Aktionsposen für Mausprofile, einschließlich Maus- und Touchpad-Geräten. Diese Funktion ist für die Interaktion mit Objekten über einen Mauszeiger im 3D-Raum konzipiert. Wenn Sie beispielsweise mit einem virtuellen Laserpointer auf eine virtuelle Schaltfläche an der Wand zielen, ist das eine Interaktion, die sich für die Pose „Zielen“ eignet.

XR_ANDROID_passthrough_camera_state

Gibt die Status „Aktiviert“, „Wird initialisiert“ oder „Deaktiviert“ für die Passthrough-Kamera an.

XR_ANDROID_performance_metrics

Diese Erweiterung bietet APIs zum Auflisten und Abfragen verschiedener Leistungszähler des aktuellen XR-Geräts, Compositors und der XR-Anwendung.

XR_ANDROID_raycast

Mit dieser Erweiterung kann die Anwendung Raycasts für Trackables in der Umgebung ausführen. Für diese Erweiterung ist android.permission.SCENE_UNDERSTANDING_COARSE erforderlich.

XR_ANDROID_scene_meshing

Ermöglicht der Anwendung, in Echtzeit ein semantisches 3D-Mesh der realen Umgebung zu erhalten. Für diese Erweiterung ist android.permission.SCENE_UNDERSTANDING_FINE erforderlich.

XR_ANDROID_trackables

Mit dieser Erweiterung kann die Anwendung auf verfolgbare Objekte wie Flugzeuge in der physischen Umgebung zugreifen und Anker erstellen, die an ein verfolgbares Objekt angehängt sind. Für diese Erweiterung ist android.permission.SCENE_UNDERSTANDING_COARSE erforderlich.

XR_ANDROID_trackables_object

Unterstützt das Tracking physischer Objekte wie Tastatur und Maus in einer Szene. Für diese Erweiterung ist android.permission.SCENE_UNDERSTANDING_COARSE erforderlich.

XR_ANDROID_unbounded_reference_space

Bietet einen unbegrenzten Referenzraum, der verwendet werden kann, um im Laufe der Zeit ein besseres Verständnis von Szenen zu entwickeln. In diesem Referenzraum kann sich der Betrachter frei in einer komplexen Umgebung bewegen, oft viele Meter vom Startpunkt entfernt. Dabei wird das Koordinatensystem immer in der Nähe des Betrachters optimiert.

Andere unterstützte Erweiterungen

Die folgenden zusätzlichen Erweiterungen werden ebenfalls unterstützt. Informationen befinden sich auf externen Websites.


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.