Développer avec Unreal Engine pour Android XR

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

La compatibilité d'Unreal Engine avec le développement XR repose sur la norme OpenXR, ce qui garantit que les fonctionnalités OpenXR compatibles avec Android XR sont prises en charge de manière native dans Unreal.

Suivez ce guide pour découvrir :

  • Compatibilité d'Unreal Engine avec Android XR
    • Principes de base de la XR dans Unreal Engine
    • Développer et publier des applications pour Android XR
    • Plug-ins Unreal Engine pour Android XR
    • Assistance
  • Saisie 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 fonctionnalités d'informatique spatiale 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 à démarrer rapidement.

Principes de base de la XR dans Unreal Engine

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

Développer et publier des applications pour Android

Unreal Engine fournit une documentation complète sur le développement, la compilation et la publication 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 > Plateformes > Android) et utiliser l'outil 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é pour les expériences immersives afin de fournir 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 "Plugins" (Edit > Plugins).

Plug-in Android XR OpenXR

Le plug-in Android XR OpenXR est l'interface principale du moteur qui ajoute la compatibilité avec Android XR à Unreal. Il implémente les extensions OpenXR 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 d'Unreal Engine OpenXR.

Extensions Android XR pour Unreal

Les extensions Android XR pour Unreal (v1.1.0, compatible avec Unreal Engine 5.6.x et 5.8.x) complètent la compatibilité de base avec OpenXR, y compris des fonctionnalités supplémentaires pour vous aider à créer des expériences immersives telles que des entités spatiales, le raycasting spatial et de profondeur, l'adoucissement de la fenêtre d'affichage, la cubemap d'estimation de la lumière, les données de maillage de main avancées 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 ou consultez la documentation de référence de l'API des extensions Android XR pour Unreal.

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.

Saisie et interaction

Pour créer des expériences spatiales interactives, il faut associer des mouvements physiques à des actions numériques. Unreal Engine utilise le système Enhanced Input combiné à OpenXR pour gérer à la fois les manettes de détection de mouvements 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'interface utilisateur) qui fonctionnent de manière fluide avec différentes méthodes de saisie 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, sous la section "OpenXR". Cela permet à votre application de maintenir un mappage d'entrée cohérent entre les 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 suivi oculaire 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'interface utilisateur 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 aux données d'expression faciale en temps réel pour animer des avatars ou favoriser les interactions sociales. Cette opération utilise l'extension XR_ANDROID_face_tracking.

Extensions acceptées

Les extensions OpenXR suivantes sont compatibles avec le développement pour Android XR dans Unreal :

Fonctionnalité Chaîne d'extension OpenXR Fournis par

Persistance des ancres d'appareil

XR_ANDROID_device_anchor_persistence

Extensions Android XR pour Unreal (v1.0.0)

Raycast

XR_ANDROID_raycast

Extensions Android XR pour Unreal (v1.0.0)

Éléments traçables (plans/profondeur)

XR_ANDROID_trackables

Extensions Android XR pour Unreal (v1.0.0)

Suivi d'objets

XR_ANDROID_trackables_object

Extensions Android XR pour Unreal (v1.0.0)

Maillage de scène

XR_ANDROID_scene_meshing

Extensions Android XR pour Unreal (v1.0.0)

Suivi du visage

XR_ANDROID_face_tracking

Extensions Android XR pour Unreal (v1.0.0)

Suivi oculaire

XR_ANDROID_eye_tracking

Extensions Android XR pour Unreal (v1.0.0)

État de la caméra Passthrough

XR_ANDROID_passthrough_camera_state

Extensions Android XR pour Unreal (v1.0.0)

Couche de maillage passthrough

XR_ANDROID_composition_layer_passthrough_mesh

Extensions Android XR pour Unreal (v1.0.0)

Texture de profondeur

XR_ANDROID_depth_texture

Extensions Android XR pour Unreal (v1.0.0)

Estimation de la luminosité

XR_ANDROID_light_estimation

Extensions Android XR pour Unreal (v1.0.0)

Cubemap d'estimation de la luminosité

XR_ANDROID_light_estimation_cubemap

Extensions Android XR pour Unreal (v1.1.0)

Métriques de performances

XR_ANDROID_performance_metrics

Extensions Android XR pour Unreal (v1.0.0)

Solution recommandée

XR_ANDROID_recommended_resolution

Extensions Android XR pour Unreal (v1.0.0)

Interaction avec les mains

XR_EXT_hand_interaction

Extensions Android XR pour Unreal (v1.0.0)

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 de suivi des mains

XR_FB_hand_tracking_mesh

Extensions Android XR pour Unreal (v1.0.0)

Space Warp

XR_FB_space_warp

Unreal Native OpenXR

Couche de composition Equirect2

XR_KHR_composition_layer_equirect2

Unreal Native OpenXR

Paramètres Thread Android

XR_KHR_android_thread_settings

Unreal Native OpenXR

Réduction globale de la luminosité du passthrough

XR_ANDROID_global_passthrough_dimming

Extensions Android XR pour Unreal (v1.0.0)

Propriétés des extensions système

XR_ANDROID_enumerate_system_extension_properties

Extensions Android XR pour Unreal (v1.0.0)

Entités spatiales

XR_EXT_spatial_entity

Extensions Android XR pour Unreal (v1.0.0)

Suivi du plan spatial

XR_EXT_spatial_plane_tracking

Extensions Android XR pour Unreal (v1.0.0)

Suivi des repères spatiaux

XR_EXT_spatial_marker_tracking

Extensions Android XR pour Unreal (v1.0.0)

Ancres spatiales et persistance

XR_EXT_spatial_anchor, XR_EXT_spatial_persistence

Extensions Android XR pour Unreal (v1.0.0)

Adoucissement de la fenêtre d'affichage

XR_ANDROID_viewport_feathering

Extensions Android XR pour Unreal (v1.1.0)

Découverte spatiale et Raycast de profondeur

XR_ANDROID_spatial_discovery_raycast

Extensions Android XR pour Unreal (v1.1.0)

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

  • Extensions Android XR pour Unreal : il s'agit d'extensions spécifiques à Google (ANDROID) et d'extensions d'entités spatiales (EXT) développées pour la plate-forme Android XR. Pour utiliser ces fonctionnalités spatiales, installez et activez le plug-in Android XR Extensions dans votre .uproject, puis consultez la documentation de référence de l'API Android XR Extensions pour Unreal pour l'utilisation de Blueprint et C++.
  • 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.