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 para el desarrollo de realidad extendida se basa en el estándar OpenXR, lo que garantiza que las funciones de OpenXR compatibles con Android XR sean compatibles de forma nativa en Unreal.

Sigue esta guía para obtener información sobre lo siguiente:

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

Compatibilidad de Unreal Engine para 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 proporciona compatibilidad con la especificación principal de OpenXR, mientras que las extensiones de Android XR para Unreal proporcionan compatibilidad con Android XR y otras extensiones específicas para ayudarte a comenzar rápidamente.

Conceptos básicos de Unreal Engine XR

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

Desarrolla y publica apps para Android

Unreal Engine proporciona documentación completa para desarrollar, compilar, y publicar para Android. Esta documentación abarca la administración de permisos de Android dentro del motor, la configuración de los parámetros de configuración de compilación de Android (a través de Project Settings > Platforms > Android) y el uso de la herramienta de automatización de Unreal (UAT).

Además, consulta la documentación para empaquetar y distribuir 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 envolventes para proporcionar 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 Android XR OpenXR

El complemento de Android XR OpenXR 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 obtener información sobre cómo 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 complementan la compatibilidad básica con OpenXR, incluidas las funciones adicionales para ayudarte a crear experiencias envolventes, como datos avanzados de malla de manos y optimizaciones de hardware específicas. Para obtener información sobre cómo importar y configurar este paquete, sigue la guía de inicio rápido de las extensiones de Android XR.

Obtén asistencia

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

Entrada e interacción

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

Para obtener una guía completa sobre la creación de estos mecanismos, consulta la documentación de Unreal Engine's sobre cómo crear experiencias interactivas de XR.

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 Project Settings en la sección OpenXR. Esto permite que tu app mantenga una asignación de entrada coherente en diferentes controladores y métodos de seguimiento.

Interacción con la mano

La interacción con la mano 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 la mano a través de los componentes de seguimiento de XR en Blueprints o C++.

Interacción de 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 facial

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

Extensiones compatibles

Se admiten las siguientes extensiones de OpenXR cuando se desarrolla para Android XR en Unreal:

Función o capacidad String de extensión de OpenXR Proporcionado por

Persistencia de anclaje del dispositivo

XR_ANDROID_device_anchor_persistence

Extensiones de Android XR para Unreal

Raycast

XR_ANDROID_raycast

Extensiones de Android XR para Unreal

Objetos rastreables (planos/profundidad)

XR_ANDROID_trackables

Extensiones de Android XR para Unreal

Seguimiento de objetos

XR_ANDROID_trackables_object

Extensiones de Android XR para Unreal

Malla de escena

XR_ANDROID_scene_meshing

Extensiones de Android XR para Unreal

Seguimiento facial

XR_ANDROID_face_tracking

Extensiones de Android XR para Unreal

Seguimiento de ojos

XR_ANDROID_eye_tracking

Extensiones de Android XR para Unreal

Estado de la cámara de transmisión

XR_ANDROID_passthrough_camera_state

Extensiones de Android XR para Unreal

Capa de malla de transmisión

XR_ANDROID_composition_layer_passthrough_mesh

Extensiones de Android XR para Unreal

Textura de profundidad

XR_ANDROID_depth_texture

Extensiones de Android XR para Unreal

Estimación de luz

XR_ANDROID_light_estimation

Extensiones de Android XR para Unreal

Métricas de rendimiento

XR_ANDROID_performance_metrics

Extensiones de Android XR para Unreal

Resolución recomendada

XR_ANDROID_recommended_resolution

Extensiones de Android XR para Unreal

Interacción con la mano

XR_EXT_hand_interaction

Extensiones de Android XR para Unreal

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

Extensiones de Android XR para Unreal

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 subprocesos de Android

XR_KHR_android_thread_settings

OpenXR nativo de Unreal

Atenuación global de transmisión

XR_ANDROID_global_passthrough_dimming

Extensiones de Android XR para Unreal (v1.0.0 estable)

Propiedades de extensión del sistema

XR_ANDROID_enumerate_system_extension_properties

Extensiones de Android XR para Unreal (v1.0.0 estable)

Entidades espaciales y seguimiento de marcadores

XR_ANDROID_trackables_marker

Extensiones de Android XR para Unreal (v1.0.0 estable)

Las extensiones se proporcionan a través de una de estas fuentes:

  • Extensiones de Android XR para Unreal: Son extensiones específicas de Google (ANDROID) desarrolladas para la plataforma Android XR. Para utilizar estas capacidades espaciales, debes instalar y habilitar el complemento de extensiones de Android XR en tu .uproject
  • 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 OpenXR principal de Unreal Engine.