Desarrolla con Unreal Engine para Android XR

Dispositivos de realidad extendida correspondientes
Esta guía te ayuda a crear experiencias para estos tipos de dispositivos de realidad extendida.
Visores de realidad extendida
Lentes de realidad extendida con cable

La compatibilidad de Unreal Engine con el desarrollo de RE se basa en el estándar OpenXR, lo que garantiza que las funciones de OpenXR compatibles con Android XR se admitan de forma nativa en Unreal.

Sigue esta guía para aprender lo siguiente:

  • Compatibilidad de Unreal Engine con Android XR
    • Conceptos básicos de XR en Unreal Engine
    • Desarrolla y publica apps para Android XR
    • Complementos de Unreal Engine para Android XR
    • Obtén asistencia
  • Entrada e interacción
  • Extensiones compatibles

Compatibilidad de Unreal Engine con Android XR

Cuando compilas apps de Unreal para Android XR, puedes aprovechar las capacidades de computación espacial de las versiones más recientes de Unreal Engine 5. Unreal Engine 5 admite la especificación principal de OpenXR, mientras que las extensiones de Android XR para Unreal admiten Android XR y otras extensiones específicas para ayudarte a comenzar rápidamente.

Conceptos básicos de XR en Unreal Engine

Si eres principiante en el desarrollo de Unreal o XR, puedes consultar la documentación para desarrolladores de XR de Unreal para comprender los conceptos y flujos de trabajo básicos. Estas son algunas áreas clave que puedes explorar:

Desarrolla y publica apps para Android

Unreal Engine proporciona documentación completa para desarrollar, compilar y publicar para Android. En esta documentación, se explica cómo administrar los permisos de Android en Engine, configurar los parámetros de compilación de Android (a través de Configuración del proyecto > Platforms > Android) y usar la herramienta de automatización de Unreal (UAT).

Además, consulta la documentación sobre el empaquetado y la distribución de apps para Android XR para conocer los requisitos específicos que se aplican a las apps espaciales que se distribuyen en Google Play Store. Asegúrate de que tu app también cumpla con los lineamientos de calidad para experiencias inmersivas para brindar una experiencia del usuario coherente y cómoda en Android XR.

Complementos de Unreal Engine para Android XR

Existen dos complementos principales que proporcionan compatibilidad para compilar apps de Unreal para Android XR. Estos complementos se administran a través del menú Plugins (Edit > Plugins).

Complemento de OpenXR para Android XR

El complemento de OpenXR para Android XR es la interfaz principal del motor que agrega compatibilidad con Android XR a Unreal. Implementa las extensiones de OpenXR necesarias para el seguimiento espacial, la comprensión del entorno y la percepción. Para aprender a agregar y configurar este complemento, consulta la documentación de OpenXR de Unreal Engine.

Extensiones de Android XR para Unreal

Las extensiones de Android XR para Unreal (v1.1.0, compatible con Unreal Engine 5.6.x y 5.8.x) complementan la compatibilidad básica con OpenXR, incluidas funciones adicionales para ayudarte a crear experiencias envolventes, como entidades espaciales, trazado de rayos espacial y de profundidad, difuminado de viewport, mapa de cubos de estimación de luz, datos avanzados de malla de mano y optimizaciones de hardware específicas. Para aprender a importar y configurar este paquete, sigue la guía de inicio rápido de las extensiones de Android XR o explora la referencia de la API de las extensiones de Android XR para Unreal.

Obtenga asistencia

Si tienes problemas, consulta la sección de asistencia para Unreal Engine en nuestra página de asistencia para obtener ayuda.

Entrada e interacción

Para crear experiencias espaciales interactivas, se deben asignar movimientos físicos a acciones digitales. Unreal Engine usa el sistema de entrada mejorada combinado con OpenXR para controlar tanto los controles de movimiento como el monitoreo de manos. Si configuras acciones de entrada y contextos de asignación de entrada, puedes crear interacciones flexibles, como agarrar, apuntar y navegar por la IU, que funcionen sin problemas en diferentes métodos de entrada de Android XR.

Para obtener una guía completa sobre cómo crear estas mecánicas, consulta la documentación de Unreal Engine sobre cómo crear experiencias interactivas de RE.

Android XR admite los siguientes métodos de interacción específicos en Unreal Engine:

Perfiles de interacción

Puedes configurar perfiles de interacción en la sección OpenXR de la configuración del proyecto. Esto permite que tu app mantenga una asignación de entrada coherente en diferentes controles y métodos de seguimiento.

Interacción con las manos

La interacción con las manos se proporciona a través de la extensión de monitoreo de manos de OpenXR. Puedes acceder a los datos y las poses de las articulaciones de las manos a través de los componentes de seguimiento de RE en Blueprints o C++.

Interacción con la mirada

Los datos de la mirada se pueden recuperar como una pose de entrada estándar, lo que te permite controlar el enfoque de la IU o las funciones de presencia social. Esto requiere el permiso android.permission.EYE_TRACKING_FINE.

Seguimiento de rostros

Accede a datos de expresiones faciales en tiempo real para animar avatares o impulsar interacciones sociales. Esto usa la extensión XR_ANDROID_face_tracking.

Extensiones compatibles

Las siguientes extensiones de OpenXR son compatibles cuando se desarrolla para Android XR en Unreal:

Atributo o función Cadena de extensión de OpenXR Proporcionado por

Persistencia de los anclajes del dispositivo

XR_ANDROID_device_anchor_persistence

Android XR Extensions para Unreal (v1.0.0)

Raycast

XR_ANDROID_raycast

Android XR Extensions para Unreal (v1.0.0)

Elementos rastreables (planos y profundidad)

XR_ANDROID_trackables

Android XR Extensions para Unreal (v1.0.0)

Seguimiento de objetos

XR_ANDROID_trackables_object

Android XR Extensions para Unreal (v1.0.0)

Malla de escena

XR_ANDROID_scene_meshing

Android XR Extensions para Unreal (v1.0.0)

Seguimiento facial

XR_ANDROID_face_tracking

Android XR Extensions para Unreal (v1.0.0)

Seguimiento de ojos

XR_ANDROID_eye_tracking

Android XR Extensions para Unreal (v1.0.0)

Estado de la cámara de transferencia

XR_ANDROID_passthrough_camera_state

Android XR Extensions para Unreal (v1.0.0)

Capa de malla de transferencia

XR_ANDROID_composition_layer_passthrough_mesh

Android XR Extensions para Unreal (v1.0.0)

Textura de profundidad

XR_ANDROID_depth_texture

Android XR Extensions para Unreal (v1.0.0)

Estimación de luz

XR_ANDROID_light_estimation

Android XR Extensions para Unreal (v1.0.0)

Mapa de cubo de estimación de luz

XR_ANDROID_light_estimation_cubemap

Android XR Extensions para Unreal (v1.1.0)

Métricas de rendimiento

XR_ANDROID_performance_metrics

Android XR Extensions para Unreal (v1.0.0)

Resolución recomendada

XR_ANDROID_recommended_resolution

Android XR Extensions para Unreal (v1.0.0)

Interacción con las manos

XR_EXT_hand_interaction

Android XR Extensions para Unreal (v1.0.0)

Utilidades de depuración

XR_EXT_debug_utils

OpenXR nativo de Unreal

Configuración de rendimiento

XR_EXT_performance_settings

OpenXR nativo de Unreal

Frecuencia de actualización de la pantalla

XR_FB_display_refresh_rate

OpenXR nativo de Unreal

Malla de monitoreo de manos

XR_FB_hand_tracking_mesh

Android XR Extensions para Unreal (v1.0.0)

Space Warp

XR_FB_space_warp

OpenXR nativo de Unreal

Capa de composición Equirect2

XR_KHR_composition_layer_equirect2

OpenXR nativo de Unreal

Configuración de Thread en Android

XR_KHR_android_thread_settings

OpenXR nativo de Unreal

Atenuación de transferencia global

XR_ANDROID_global_passthrough_dimming

Android XR Extensions para Unreal (v1.0.0)

Propiedades de la extensión del sistema

XR_ANDROID_enumerate_system_extension_properties

Android XR Extensions para Unreal (v1.0.0)

Entidades espaciales

XR_EXT_spatial_entity

Android XR Extensions para Unreal (v1.0.0)

Seguimiento de planos espaciales

XR_EXT_spatial_plane_tracking

Android XR Extensions para Unreal (v1.0.0)

Seguimiento de marcadores espaciales

XR_EXT_spatial_marker_tracking

Android XR Extensions para Unreal (v1.0.0)

Anclajes espaciales y persistencia

XR_EXT_spatial_anchor, XR_EXT_spatial_persistence

Android XR Extensions para Unreal (v1.0.0)

Suavizado de bordes del viewport

XR_ANDROID_viewport_feathering

Android XR Extensions para Unreal (v1.1.0)

Detección espacial y proyección de rayos de profundidad

XR_ANDROID_spatial_discovery_raycast

Android XR Extensions para Unreal (v1.1.0)

Las extensiones se proporcionan desde una de estas fuentes:

  • Extensiones de Android XR para Unreal: Son extensiones específicas de Google (ANDROID) y extensiones de entidades espaciales (EXT) desarrolladas para la plataforma de Android XR. Para usar estas funciones espaciales, instala y habilita el complemento de extensiones de Android XR en tu .uproject y consulta la referencia de la API de extensiones de Android XR para Unreal para conocer el uso de Blueprint y C++.
  • OpenXR nativo de Unreal: Estas funciones aprovechan las extensiones estándar de Khronos (KHR), Extension (EXT) y Meta (FB) que ya están integradas y se mantienen directamente en el complemento principal de OpenXR de Unreal Engine.