Mit Unreal Engine für Android XR 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-Datenbrille

Die Unterstützung der Unreal Engine für die XR-Entwicklung basiert auf dem OpenXR-Standard. Dadurch werden die für Android XR unterstützten OpenXR-Funktionen nativ in Unreal unterstützt.

In diesem Leitfaden erfahren Sie mehr über:

  • Unreal Engine-Unterstützung für Android XR
    • Unreal Engine XR – Grundlagen
    • Apps für Android XR entwickeln und veröffentlichen
    • Unreal Engine-Plug-ins für Android XR
    • Support
  • Eingabe und Interaktion
  • Unterstützte Erweiterungen

Unreal Engine-Unterstützung für Android XR

Wenn Sie Unreal-Apps für Android XR entwickeln, können Sie die Spatial-Computing-Funktionen der neuesten Versionen von Unreal Engine 5 nutzen. Unreal Engine 5 unterstützt die OpenXR-Kernspezifikation, während die Android XR-Erweiterungen für Unreal Android XR und andere spezifische Erweiterungen unterstützen, damit Sie schnell loslegen können.

Unreal Engine XR – Grundlagen

Wenn Sie neu in der Unreal- oder XR-Entwicklung sind, können Sie sich die XR-Entwicklungsdokumentation von Unreal ansehen, um die grundlegenden Konzepte und Workflows zu verstehen. Hier sind einige wichtige Bereiche, die Sie sich ansehen sollten:

Apps für Android entwickeln und veröffentlichen

Unreal Engine bietet eine umfassende Dokumentation zur Entwicklung, Erstellung und Veröffentlichung für Android. In dieser Dokumentation wird beschrieben, wie Sie Android-Berechtigungen in der Engine verwalten, Android-Build-Einstellungen konfigurieren (über „Projekteinstellungen“ > „Plattformen“ > „Android“) und das Unreal Automation Tool (UAT) verwenden.

Weitere Informationen zu den spezifischen Anforderungen für Spatial-Apps, die im Google Play Store vertrieben werden, finden Sie in der Dokumentation zum Verpacken und Vertreiben von Apps für Android XR. Achten Sie darauf, dass Ihre App auch die Qualitätsrichtlinien für immersive Erlebnisse einhält, um eine einheitliche und angenehme Nutzererfahrung unter Android XR zu bieten.

Unreal Engine-Plug-ins für Android XR

Es gibt zwei Haupt-Plug-ins, die die Entwicklung von Unreal-Apps für Android XR unterstützen. Diese Plug-ins werden über das Menü „Plug-ins“ (Bearbeiten > Plug-ins) verwaltet.

Android XR OpenXR-Plug-in

Das Android XR OpenXR-Plug-in ist die primäre Engine-Schnittstelle, die Unreal um Android XR-Unterstützung erweitert. Es implementiert die OpenXR-Erweiterungen, die für räumliches Tracking, Umgebungserkennung und Wahrnehmung erforderlich sind. Informationen zum Hinzufügen und Konfigurieren dieses Plug-ins finden Sie in der Unreal Engine OpenXR-Dokumentation.

Android XR-Erweiterungen für Unreal

Die Android XR-Erweiterungen für Unreal (v1.1.0, unterstützt Unreal Engine 5.6.x und 5.8.x) ergänzen die grundlegende OpenXR-Unterstützung und bieten zusätzliche Funktionen, mit denen Sie immersive Erlebnisse erstellen können, z. B. räumliche Entitäten, räumliches und Tiefen-Raycasting, Viewport-Feathering, Cubemap für die Lichtschätzung, erweiterte Hand-Mesh-Daten und spezifische Hardwareoptimierungen. Informationen zum Importieren und Konfigurieren dieses Pakets finden Sie in der Kurzanleitung zu Android XR-Erweiterungen oder in der API-Referenz zu Android XR-Erweiterungen für Unreal.

Support kontaktieren

Wenn Probleme auftreten, besuchen Sie unsere Supportseite für Unreal Engine.

Eingabe und Interaktion

Für interaktive räumliche Erlebnisse müssen physische Bewegungen digitalen Aktionen zugeordnet werden. Unreal Engine verwendet das Enhanced Input-System in Kombination mit OpenXR, um sowohl Motion Controller als auch Handtracking zu verarbeiten. Durch das Einrichten von Eingabeaktionen und Eingabezuordnungskontexten können Sie flexible Interaktionen wie Greifen, Zeigen und UI-Navigation erstellen, die nahtlos mit verschiedenen Android XR-Eingabemethoden funktionieren.

Eine umfassende Anleitung zum Erstellen dieser Mechanismen finden Sie in der Unreal Engine-Dokumentation zum Erstellen interaktiver XR-Erlebnisse.

Android XR unterstützt die folgenden spezifischen Interaktionsmethoden in der Unreal Engine:

Interaktionsprofile

Sie können Interaktionsprofile in den Projekteinstellungen im Abschnitt „OpenXR“ konfigurieren. So kann Ihre App eine einheitliche Eingabezuordnung für verschiedene Controller und Tracking-Methoden beibehalten.

Interaktion mit den Händen

Die Handinteraktion wird über die OpenXR-Handtracking-Erweiterung bereitgestellt. Über die XR-Tracking-Komponenten in Blueprints oder C++ können Sie auf Daten und Posen von Handgelenken zugreifen.

Blickinteraktion

Blickrichtungsdaten können als Standardeingabe-Pose abgerufen werden, um UI-Fokus- oder Social-Presence-Funktionen zu steuern. Hierfür ist die Berechtigung android.permission.EYE_TRACKING_FINE erforderlich.

Gesichtstracking

Greifen Sie auf Echtzeitdaten zu Gesichtsausdrücken zu, um Avatare zu animieren oder soziale Interaktionen zu fördern. Dabei wird die Erweiterung XR_ANDROID_face_tracking verwendet.

Unterstützte Erweiterungen

Die folgenden OpenXR-Erweiterungen werden bei der Entwicklung für Android XR in Unreal unterstützt:

Funktion oder Fähigkeit OpenXR-Erweiterungsstring Bereitgestellt von

Persistenz von Geräteankern

XR_ANDROID_device_anchor_persistence

Android XR-Erweiterungen für Unreal (v1.0.0)

Raycast

XR_ANDROID_raycast

Android XR-Erweiterungen für Unreal (v1.0.0)

Trackables (Ebenen/Tiefe)

XR_ANDROID_trackables

Android XR-Erweiterungen für Unreal (v1.0.0)

Objekt-Tracking

XR_ANDROID_trackables_object

Android XR-Erweiterungen für Unreal (v1.0.0)

Scene Meshing

XR_ANDROID_scene_meshing

Android XR-Erweiterungen für Unreal (v1.0.0)

Mimik-Erkennung

XR_ANDROID_face_tracking

Android XR-Erweiterungen für Unreal (v1.0.0)

Eye-Tracking

XR_ANDROID_eye_tracking

Android XR-Erweiterungen für Unreal (v1.0.0)

Passthrough-Kamerastatus

XR_ANDROID_passthrough_camera_state

Android XR-Erweiterungen für Unreal (v1.0.0)

Passthrough Mesh Layer

XR_ANDROID_composition_layer_passthrough_mesh

Android XR-Erweiterungen für Unreal (v1.0.0)

Tiefentextur

XR_ANDROID_depth_texture

Android XR-Erweiterungen für Unreal (v1.0.0)

Lichtschätzung

XR_ANDROID_light_estimation

Android XR-Erweiterungen für Unreal (v1.0.0)

Cubemap für die Lichtschätzung

XR_ANDROID_light_estimation_cubemap

Android XR-Erweiterungen für Unreal (v1.1.0)

Leistungsmesswerte

XR_ANDROID_performance_metrics

Android XR-Erweiterungen für Unreal (v1.0.0)

Empfohlene Lösung

XR_ANDROID_recommended_resolution

Android XR-Erweiterungen für Unreal (v1.0.0)

Handinteraktion

XR_EXT_hand_interaction

Android XR-Erweiterungen für Unreal (v1.0.0)

Debug Utils

XR_EXT_debug_utils

Unreal Native OpenXR

Leistungseinstellungen

XR_EXT_performance_settings

Unreal Native OpenXR

Aktualisierungsrate des Displays

XR_FB_display_refresh_rate

Unreal Native OpenXR

Handtracking-Mesh

XR_FB_hand_tracking_mesh

Android XR-Erweiterungen für Unreal (v1.0.0)

Space Warp

XR_FB_space_warp

Unreal Native OpenXR

Equirect2-Kompositionsebene

XR_KHR_composition_layer_equirect2

Unreal Native OpenXR

Android-Thread-Einstellungen

XR_KHR_android_thread_settings

Unreal Native OpenXR

Globales Durchschleifen mit Dimmen

XR_ANDROID_global_passthrough_dimming

Android XR-Erweiterungen für Unreal (v1.0.0)

Systemerweiterungseigenschaften

XR_ANDROID_enumerate_system_extension_properties

Android XR-Erweiterungen für Unreal (v1.0.0)

Räumliche Entitäten

XR_EXT_spatial_entity

Android XR-Erweiterungen für Unreal (v1.0.0)

Spatial Plane Tracking

XR_EXT_spatial_plane_tracking

Android XR-Erweiterungen für Unreal (v1.0.0)

Spatial Marker Tracking

XR_EXT_spatial_marker_tracking

Android XR-Erweiterungen für Unreal (v1.0.0)

Räumliche Anker und Persistenz

XR_EXT_spatial_anchor, XR_EXT_spatial_persistence

Android XR-Erweiterungen für Unreal (v1.0.0)

Viewport Feathering

XR_ANDROID_viewport_feathering

Android XR-Erweiterungen für Unreal (v1.1.0)

Spatial Discovery und Depth Raycast

XR_ANDROID_spatial_discovery_raycast

Android XR-Erweiterungen für Unreal (v1.1.0)

Erweiterungen werden von einer der folgenden Quellen bereitgestellt:

  • Android XR-Erweiterungen für Unreal: Dies sind Google-spezifische Erweiterungen (ANDROID) und Erweiterungen für räumliche Entitäten (EXT), die für die Android XR-Plattform entwickelt wurden. Wenn Sie diese räumlichen Funktionen nutzen möchten, installieren und aktivieren Sie das Android XR Extensions-Plug-in in Ihrer .uproject. Informationen zur Verwendung von Blueprints und C++ finden Sie in der API-Referenz zu Android XR Extensions for Unreal.
  • Unreal Native OpenXR: Diese Funktionen nutzen die Standarderweiterungen von Khronos (KHR), Extension (EXT) und Meta (FB), die bereits direkt in das OpenXR-Kern-Plug-in der Unreal Engine integriert sind und dort verwaltet werden.