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 XR 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 obtener información sobre 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 no tienes experiencia 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 que puedes explorar:

Desarrolla y publica apps para Android

Unreal Engine proporciona documentación integral para desarrollar, compilar y publicar para Android. En esta documentación, se explica cómo administrar los permisos de Android dentro del motor, configurar los ajustes de compilación de Android (a través de Project Settings > Platforms > Android) y usar Unreal Automation Tool (UAT).

Además, consulta la documentación sobre cómo 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 inmersivas y, así, proporcione una experiencia del usuario coherente y cómoda en Android XR.

Complementos de Unreal Engine para Android XR

Hay dos complementos principales que brindan 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 de 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 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 funciones adicionales para ayudarte a crear experiencias envolventes, como datos avanzados de malla de manos 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.

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

Crear experiencias espaciales interactivas requiere asignar movimientos físicos a acciones digitales. Unreal Engine usa el sistema de entrada mejorada combinado con OpenXR para controlar los controles de movimiento y el monitoreo de manos. Si configuras acciones de entrada y contextos de asignación de entrada, puedes crear interacciones flexibles, como agarrar, señalar 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 cómo compilar estos mecanismos, consulta la documentación de Unreal Engine 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 la sección OpenXR de la configuración del proyecto. 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 las manos se proporciona a través de la extensión Hand Tracking de OpenXR. Puedes acceder a los datos y las poses de las articulaciones de las manos a través de los componentes de XR Tracking en Blueprints o C++.

Interacción con la mirada

Los datos de la mirada se pueden recuperar como una postura 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. Esta opción 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:

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

Persistencia del 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 de seguimiento (planos y profundidad)

XR_ANDROID_trackables

Extensiones de Android XR para Unreal

Seguimiento de objetos

XR_ANDROID_trackables_object

Extensiones de Android XR para Unreal

Scene Meshing

XR_ANDROID_scene_meshing

Extensiones de Android XR para Unreal

Seguimiento de rostros

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 transferencia

XR_ANDROID_passthrough_camera_state

Extensiones de Android XR para Unreal

Capa de malla de transferencia

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

Unreal Native OpenXR

Configuración de rendimiento

XR_EXT_performance_settings

Unreal Native OpenXR

Frecuencia de actualización de la pantalla

XR_FB_display_refresh_rate

Unreal Native OpenXR

Malla de monitoreo de manos

XR_FB_hand_tracking_mesh

Extensiones de Android XR para Unreal

Deformación espacial

XR_FB_space_warp

Unreal Native OpenXR

Capa de composición Equirect2

XR_KHR_composition_layer_equirect2

Unreal Native OpenXR

Configuración de Android Thread

XR_KHR_android_thread_settings

Unreal Native OpenXR

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 de Android XR. Para aprovechar estas capacidades espaciales, debes instalar y habilitar el complemento de extensiones de Android XR en tu archivo .uproject.
  • Unreal Native OpenXR: 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.