Desenvolver com o Unreal Engine para Android XR

Dispositivos XR relevantes
Estas orientações ajudam você a criar experiências para esses tipos de dispositivos XR.
Headsets XR
Óculos XR com fio

O suporte do Unreal Engine para desenvolvimento de XR é baseado no padrão OpenXR, garantindo que os recursos do OpenXR compatíveis com o Android XR sejam nativamente compatíveis com o Unreal.

Siga este guia para saber mais sobre:

  • Suporte do Unreal Engine para Android XR
    • Noções básicas de XR do Unreal Engine
    • Desenvolvimento e publicação de apps para Android XR
    • Plug-ins do Unreal Engine para Android XR
    • Como receber suporte
  • Entrada e interação
  • Extensões compatíveis

Suporte do Unreal Engine para Android XR

Ao criar apps Unreal para Android XR, você pode aproveitar os recursos de computação espacial das versões mais recentes do Unreal Engine 5. O Unreal Engine 5 oferece suporte à especificação principal do OpenXR, enquanto as extensões do Android XR para Unreal oferecem suporte ao Android XR e a outras extensões específicas para ajudar você a começar rapidamente.

Noções básicas de XR do Unreal Engine

Se você não conhece o desenvolvimento de XR ou Unreal, consulte a documentação para desenvolvedores de XR (link em inglês) do Unreal para entender os conceitos básicos e os fluxos de trabalho. Confira algumas áreas importantes para explorar:

Desenvolver e publicar apps para Android

O Unreal Engine oferece uma documentação abrangente para desenvolver, criar e publicar para Android. Esta documentação aborda o gerenciamento de permissões do Android no Engine, a configuração das definições de build do Android (em Configurações do Projeto > Platforms > Android) e o uso da Unreal Automation Tool (UAT).

Além disso, consulte a documentação sobre empacotamento e distribuição de apps para Android XR para saber os requisitos específicos que se aplicam a apps espaciais distribuídos na Google Play Store. Verifique se o app também segue as diretrizes de qualidade para experiências imersivas para oferecer uma experiência do usuário consistente e confortável no Android XR.

Plug-ins do Unreal Engine para Android XR

Há dois plug-ins principais que oferecem suporte à criação de apps Unreal para Android XR. Esses plug-ins são gerenciados no menu "Plugins" (Edit > Plugins).

Plug-in do Android XR para OpenXR

O plug-in OpenXR do Android XR é a principal interface do mecanismo que adiciona suporte ao Android XR ao Unreal. Ele implementa as extensões do OpenXR necessárias para rastreamento espacial, compreensão do ambiente e percepção. Para saber como adicionar e configurar esse plug-in, consulte a documentação do OpenXR da Unreal Engine.

Extensões do Android XR para Unreal

As extensões do Android XR para Unreal (v1.1.0, com suporte ao Unreal Engine 5.6.x e 5.8.x) complementam o suporte básico ao OpenXR, incluindo recursos adicionais para ajudar você a criar experiências imersivas, como entidades espaciais, raycasting espacial e de profundidade, suavização de viewport, cubemap de estimativa de luz, dados avançados de malha de mão e otimizações de hardware específicas. Para saber como importar e configurar esse pacote, siga o guia de início rápido das extensões do Android XR ou consulte a referência da API de extensões do Android XR para Unreal.

Receber suporte

Se você tiver problemas, consulte a seção de suporte do Unreal Engine na nossa página de suporte para receber ajuda.

Entrada e interação

Para criar experiências espaciais interativas, é necessário mapear movimentos físicos para ações digitais. O Unreal Engine usa o sistema de entrada aprimorado combinado com o OpenXR para processar controles de movimento e captura de movimentos das mãos. Ao configurar ações de entrada e contextos de mapeamento de entrada, é possível criar interações flexíveis, como pegar, apontar e navegar na interface, que funcionam perfeitamente em diferentes métodos de entrada do Android XR.

Para um guia abrangente sobre como criar essas mecânicas, consulte a documentação do Unreal Engine sobre Como criar experiências interativas de XR.

O Android XR é compatível com os seguintes métodos de interação específicos no Unreal Engine:

Perfis de interação

É possível configurar perfis de interação nas configurações do projeto, na seção OpenXR. Isso permite que o app mantenha um mapeamento de entrada consistente em diferentes controles e métodos de rastreamento.

Interação com as mãos

A interação com as mãos é fornecida pela extensão de captura de movimentos das mãos do OpenXR. É possível acessar dados e poses de articulações de mãos usando os componentes de rastreamento de XR em Blueprints ou C++.

Interação com o olhar

Os dados de olhar podem ser recuperados como uma pose de entrada padrão, permitindo que você direcione o foco da interface ou os recursos de presença social. Isso requer a permissão android.permission.EYE_TRACKING_FINE.

Rastreamento de rostos

Acesse dados de expressões faciais em tempo real para animar avatares ou impulsionar interações sociais. Isso usa a extensão XR_ANDROID_face_tracking.

Extensões compatíveis

As seguintes extensões do OpenXR são compatíveis com o desenvolvimento para Android XR no Unreal:

Recurso ou funcionalidade String de extensão do OpenXR Fornecido por

Persistência de âncoras de dispositivo

XR_ANDROID_device_anchor_persistence

Extensões do Android XR para Unreal (v1.0.0)

Raycast (em inglês)

XR_ANDROID_raycast

Extensões do Android XR para Unreal (v1.0.0)

Trackables (planos/profundidade)

XR_ANDROID_trackables

Extensões do Android XR para Unreal (v1.0.0)

Faixa de objeto

XR_ANDROID_trackables_object

Extensões do Android XR para Unreal (v1.0.0)

Malha de cena

XR_ANDROID_scene_meshing

Extensões do Android XR para Unreal (v1.0.0)

Captura de expressões faciais

XR_ANDROID_face_tracking

Extensões do Android XR para Unreal (v1.0.0)

Acompanhamento ocular

XR_ANDROID_eye_tracking

Extensões do Android XR para Unreal (v1.0.0)

Estado da câmera de passagem

XR_ANDROID_passthrough_camera_state

Extensões do Android XR para Unreal (v1.0.0)

Camada de malha de passagem

XR_ANDROID_composition_layer_passthrough_mesh

Extensões do Android XR para Unreal (v1.0.0)

Textura de profundidade

XR_ANDROID_depth_texture

Extensões do Android XR para Unreal (v1.0.0)

Estimativa de luz

XR_ANDROID_light_estimation

Extensões do Android XR para Unreal (v1.0.0)

Cubemap de estimativa de luz

XR_ANDROID_light_estimation_cubemap

Extensões do Android XR para Unreal (v1.1.0)

Métricas de performance

XR_ANDROID_performance_metrics

Extensões do Android XR para Unreal (v1.0.0)

Resolução recomendada

XR_ANDROID_recommended_resolution

Extensões do Android XR para Unreal (v1.0.0)

Interação com as mãos

XR_EXT_hand_interaction

Extensões do Android XR para Unreal (v1.0.0)

Utilitários de depuração

XR_EXT_debug_utils

OpenXR nativo do Unreal

Configurações de desempenho

XR_EXT_performance_settings

OpenXR nativo do Unreal

Taxa de atualização da tela

XR_FB_display_refresh_rate

OpenXR nativo do Unreal

Malha de captura de movimentos das mãos

XR_FB_hand_tracking_mesh

Extensões do Android XR para Unreal (v1.0.0)

Distorção espacial

XR_FB_space_warp

OpenXR nativo do Unreal

Camada de composição Equirect2

XR_KHR_composition_layer_equirect2

OpenXR nativo do Unreal

Configurações do Thread para Android

XR_KHR_android_thread_settings

OpenXR nativo do Unreal

Escurecimento global do Passthrough

XR_ANDROID_global_passthrough_dimming

Extensões do Android XR para Unreal (v1.0.0)

Propriedades da extensão do sistema

XR_ANDROID_enumerate_system_extension_properties

Extensões do Android XR para Unreal (v1.0.0)

Entidades espaciais

XR_EXT_spatial_entity

Extensões do Android XR para Unreal (v1.0.0)

Rastreamento de plano espacial

XR_EXT_spatial_plane_tracking

Extensões do Android XR para Unreal (v1.0.0)

Rastreamento de marcadores espaciais

XR_EXT_spatial_marker_tracking

Extensões do Android XR para Unreal (v1.0.0)

Âncoras espaciais e persistência

XR_EXT_spatial_anchor, XR_EXT_spatial_persistence

Extensões do Android XR para Unreal (v1.0.0)

Suavização da janela de visualização

XR_ANDROID_viewport_feathering

Extensões do Android XR para Unreal (v1.1.0)

Descoberta espacial e Raycast de profundidade

XR_ANDROID_spatial_discovery_raycast

Extensões do Android XR para Unreal (v1.1.0)

As extensões são fornecidas por uma destas fontes:

  • Extensões do Android XR para Unreal: são extensões específicas do Google (ANDROID) e de entidade espacial (EXT) desenvolvidas para a plataforma Android XR. Para usar esses recursos espaciais, instale e ative o plug-in de extensões do Android XR no .uproject e consulte a referência da API de extensões do Android XR para Unreal para uso de Blueprint e C++.
  • Unreal Native OpenXR: esses recursos usam as extensões padrão do Khronos (KHR), da extensão (EXT) e da Meta (FB), que já estão integradas e mantidas diretamente no plug-in principal do OpenXR do Unreal Engine.