Développer avec Unreal Engine pour Android XR

Appareils XR concernés
Ces conseils vous aident à créer des expériences pour ces types d'appareils XR.
Casques XR
Lunettes XR filaires

La prise en charge d'Unreal Engine pour le développement XR repose sur la norme OpenXR, ce qui garantit que les fonctionnalités OpenXR compatibles avec Android XR sont nativement prises en charge dans Unreal.

Ce guide vous explique :

  • Prise en charge d'Unreal Engine pour Android XR
    • Principes de base d'Unreal Engine XR
    • Développer et publier des applications pour Android XR
    • Plug-ins Unreal Engine pour Android XR
    • Assistance
  • Entrée et interaction
  • Extensions acceptées

Compatibilité d'Unreal Engine avec Android XR

Lorsque vous créez des applications Unreal pour Android XR, vous pouvez profiter des capacités de calcul spatial des dernières versions d'Unreal Engine 5. Unreal Engine 5 est compatible avec la spécification OpenXR de base, tandis que les extensions Android XR pour Unreal sont compatibles avec Android XR et d'autres extensions spécifiques pour vous aider à vous lancer rapidement.

Principes de base d'Unreal Engine XR

Si vous débutez dans le développement Unreal ou XR, vous pouvez consulter la documentation sur le développement XR d'Unreal pour comprendre les concepts et les workflows de base. Voici quelques points clés à explorer :

Développer et publier des applications pour Android

Unreal Engine fournit une documentation complète pour développer, compiler et publier des applications pour Android. Cette documentation explique comment gérer les autorisations Android dans le moteur, configurer les paramètres de compilation Android (via Paramètres du projet > Plates-formes > Android) et utiliser l'Unreal Automation Tool (UAT).

Consultez également la documentation sur l'empaquetage et la distribution d'applications pour Android XR pour connaître les exigences spécifiques qui s'appliquent aux applications spatiales distribuées sur le Google Play Store. Assurez-vous que votre application respecte également les consignes relatives à la qualité des expériences immersives pour offrir une expérience utilisateur cohérente et confortable sur Android XR.

Plug-ins Unreal Engine pour Android XR

Deux plug-ins principaux permettent de créer des applications Unreal pour Android XR. Ces plug-ins sont gérés via le menu "Plug-ins" (Modifier > Plug-ins).

Plug-in Android XR OpenXR

Le plug-in Android XR OpenXR est l'interface moteur principale qui ajoute la compatibilité Android XR à Unreal. Il implémente les extensions Open XR requises pour le suivi spatial, la compréhension de l'environnement et la perception. Pour savoir comment ajouter et configurer ce plug-in, consultez la documentation Unreal Engine OpenXR.

Extensions Android XR pour Unreal

Les extensions Android XR pour Unreal complètent la prise en charge OpenXR de base, y compris les fonctionnalités supplémentaires qui vous aident à créer des expériences immersives, telles que des données avancées sur le maillage des mains et des optimisations matérielles spécifiques. Pour savoir comment importer et configurer ce package, suivez le guide de démarrage rapide des extensions Android XR.

Obtenir de l'aide

Si vous rencontrez des problèmes, consultez la section d'assistance pour Unreal Engine sur notre page d'assistance pour obtenir de l'aide.

Entrée et interaction

Pour créer des expériences spatiales interactives, il faut mapper les mouvements physiques sur des actions numériques. Unreal Engine utilise le système d'entrée amélioré combiné à OpenXR pour gérer à la fois les manettes de mouvement et le suivi des mains. En configurant des actions d'entrée et des contextes de mappage d'entrée, vous pouvez créer des interactions flexibles (comme la saisie, le pointage et la navigation dans l'UI) qui fonctionnent de manière fluide sur différentes méthodes d'entrée Android XR.

Pour obtenir un guide complet sur la création de ces mécanismes, consultez la documentation d'Unreal Engine sur la création d'expériences XR interactives.

Android XR est compatible avec les méthodes d'interaction spécifiques suivantes dans Unreal Engine :

Profils d'interaction

Vous pouvez configurer des profils d'interaction dans les paramètres de votre projet, dans la section OpenXR. Cela permet à votre application de maintenir un mappage d'entrée cohérent sur différents contrôleurs et méthodes de suivi.

Interaction avec les mains

L'interaction avec les mains est fournie par l'extension OpenXR Hand Tracking. Vous pouvez accéder aux données et aux poses des articulations de la main via les composants de suivi XR dans Blueprints ou C++.

Interaction par le regard

Les données de regard peuvent être récupérées en tant que pose d'entrée standard, ce qui vous permet de contrôler la mise au point de l'UI ou les fonctionnalités de présence sociale. Pour ce faire, vous devez disposer de l'autorisation android.permission.EYE_TRACKING_FINE.

Suivi du visage

Accédez à des données en temps réel sur les expressions faciales pour animer des avatars ou favoriser les interactions sociales. Elle utilise l'extension XR_ANDROID_face_tracking.

Extensions acceptées

Les extensions OpenXR suivantes sont compatibles lorsque vous développez pour Android XR dans Unreal :

Fonctionnalité Chaîne d'extension OpenXR Fournis par

Persistance de l'ancrage de l'appareil

XR_ANDROID_device_anchor_persistence

Extensions Android XR pour Unreal

Raycast

XR_ANDROID_raycast

Extensions Android XR pour Unreal

Éléments à suivre (plans/profondeur)

XR_ANDROID_trackables

Extensions Android XR pour Unreal

Suivi des objets

XR_ANDROID_trackables_object

Extensions Android XR pour Unreal

Maillage de la scène

XR_ANDROID_scene_meshing

Extensions Android XR pour Unreal

Suivi du visage

XR_ANDROID_face_tracking

Extensions Android XR pour Unreal

Suivi oculaire

XR_ANDROID_eye_tracking

Extensions Android XR pour Unreal

État de la caméra en mode passthrough

XR_ANDROID_passthrough_camera_state

Extensions Android XR pour Unreal

Couche Mesh direct

XR_ANDROID_composition_layer_passthrough_mesh

Extensions Android XR pour Unreal

Texture de profondeur

XR_ANDROID_depth_texture

Extensions Android XR pour Unreal

Estimation de la luminosité

XR_ANDROID_light_estimation

Extensions Android XR pour Unreal

Métriques de performances

XR_ANDROID_performance_metrics

Extensions Android XR pour Unreal

Solution recommandée

XR_ANDROID_recommended_resolution

Extensions Android XR pour Unreal

Interaction avec les mains

XR_EXT_hand_interaction

Extensions Android XR pour Unreal

Debug Utils

XR_EXT_debug_utils

Unreal Native OpenXR

Paramètres de performances

XR_EXT_performance_settings

Unreal Native OpenXR

Fréquence d'actualisation de l'écran

XR_FB_display_refresh_rate

Unreal Native OpenXR

Maillage du suivi des mains

XR_FB_hand_tracking_mesh

Extensions Android XR pour Unreal

Space Warp

XR_FB_space_warp

Unreal Native OpenXR

Calque de composition Equirect2

XR_KHR_composition_layer_equirect2

Unreal Native OpenXR

Paramètres Thread Android

XR_KHR_android_thread_settings

Unreal Native OpenXR

Les extensions sont fournies par l'une des sources suivantes :

  • Extensions Android XR pour Unreal : il s'agit d'extensions spécifiques à Google (ANDROID) développées pour la plate-forme Android XR. Pour utiliser ces fonctionnalités spatiales, vous devez installer et activer le plug-in Android XR Extensions dans votre .uproject.
  • Unreal Native OpenXR : ces fonctionnalités exploitent les extensions standards Khronos (KHR), Extension (EXT) et Meta (FB) qui sont déjà intégrées et gérées directement dans le plug-in OpenXR principal d'Unreal Engine.