O Android XR oferece suporte a apps criados com OpenXR, com suporte à especificação OpenXR 1.1 e a extensões de fornecedores selecionadas. O OpenXR é um padrão aberto que permite criar experiências imersivas e interativas usando um conjunto comum de APIs em uma ampla variedade de dispositivos XR.
Recursos
O Android XR oferece suporte a recursos que permitem criar apps que aproveitam ao máximo os recursos exclusivos dos dispositivos XR usando o OpenXR. Esses recursos incluem o seguinte.
- Framework de entidades espaciais
- Uma base unificada para compreensão de cenas e raciocínio espacial. Permite que os aplicativos descubram, consultem e rastreiem entidades espaciais físicas no ambiente, criem âncoras espaciais anexadas a entidades, realizem raycasting de entidades espaciais e persistam entidades espaciais em sessões de aplicativos.
- Rastreáveis
- Oferece suporte à detecção de planos, que é a capacidade de identificar e rastrear superfícies planas no ambiente, permitindo o posicionamento de objetos virtuais em relação ao mundo real e âncoras, que são pontos de referência virtuais que podem ser anexados a objetos ou locais do mundo real, para que o conteúdo virtual permaneça posicionado e orientado com precisão, mesmo quando o usuário se move.
- Raycasting
- Uma técnica usada para determinar o ponto de interseção entre um raio virtual e objetos na cena, facilitando interações como selecionar e manipular elementos virtuais.
- Persistência de âncoras
- A capacidade de salvar e restaurar âncoras em várias sessões, permitindo o posicionamento persistente e consistente de conteúdo virtual no ambiente.
- Rastreamento de objetos
- A capacidade de rastrear mouse, teclado e outros objetos no mundo real.
- Rastreamento de QR code
- A capacidade de rastrear QR codes no ambiente físico e decodificar os dados deles.
- Texturas de profundidade
- A geração de mapas de profundidade que fornecem informações sobre a distância entre a câmera e os objetos na cena, permitindo efeitos de oclusão e interação mais realistas.
- Passagem
- A capacidade de misturar imagens de câmera do mundo real com conteúdo virtual, criando uma experiência de realidade mista que combina perfeitamente os mundos físico e digital.
- Malha de cena
- A capacidade de adquirir uma malha 3D do ambiente, que pode ser usada para física, oclusão e outras interações com reconhecimento do mundo.
- Passagem da camada de composição
- Permite um recorte de camada de composição de passagem de polígono, que pode ser usado para trazer objetos do mundo real para uma cena.
- Captura de expressões faciais
- A capacidade de rastrear os recursos do rosto do usuário, permitindo a criação de avatares e personagens virtuais mais realistas e expressivos.
- Acompanhamento ocular
- Fornece a posição e a orientação do olho do usuário, que foi projetado para tornar a pose dos olhos para avatares mais realista.
- Captura de movimentos das mãos
- A capacidade de rastrear a posição e o movimento das mãos do usuário.
- Malha de mão
- Fornece uma representação precisa das mãos do usuário como uma malha de poucos polígonos. Otimizado para entrega de plataforma para aplicativo para garantir o melhor desempenho possível. Essa é uma alternativa a outras extensões que usam uma pose de vinculação e pesos de mesclagem.
- Estimativa de luz
- Usado para modelos de iluminação que correspondam às condições de iluminação do mundo real do usuário.
Dispositivos de entrada com suporte
O Android XR também oferece suporte aos seguintes dispositivos de entrada.
- Interação manual
- O reconhecimento de gestos específicos das mãos, como pinçar, deslizar e apontar, permitindo que os usuários interajam com objetos virtuais usando gestos e movimentos das mãos.
- Interação de olhar
- A capacidade de rastrear os movimentos dos olhos do usuário, permitindo que ele selecione e interaja com objetos virtuais usando o olhar.
- Controles de movimento 6DoF
- A capacidade de rastrear a posição e o movimento dos controles, além de vinculações de D-pad e botões para acionar ações ou eventos de foco no app.
- Interação do mouse
- A capacidade de os usuários interagirem com objetos por meio de um ponteiro do mouse no espaço 3D
Recursos de desempenho com suporte
O Android XR oferece suporte aos seguintes recursos relacionados ao desempenho.
- Foveação rastreada pelos olhos
- Permite que um app renderize conteúdo de maior resolução apenas no ponto focal dos olhos.
- Distorção espacial
- Usa vetores de velocidade e informações de textura de profundidade para gerar frames intermediários que aumentam efetivamente a taxa de frames necessária para manter os usuários imersos nas experiências.
- Síntese de frames
- Usa vetores de movimento e dados de frame fornecidos pelo aplicativo para sintetizar frames intermediários, melhorando a suavidade visual e as taxas de frames.
- Métricas de desempenho
- Fornece métricas de desempenho do Android XR no tempo de execução do dispositivo XR atual, do compositor e do app XR. Isso inclui o tempo de frame da CPU, o tempo de frame da GPU, a utilização da GPU, a frequência da CPU, os frames por segundo e muito mais.
Consulte a visão geral dos recursos do OpenXR para conferir uma lista completa de recursos e extensões com suporte.
Mecanismos compatíveis
Os seguintes mecanismos têm suporte para desenvolvimento do OpenXR com o Android XR.
Unity
O suporte do Android XR ao Unity, criado com base no OpenXR, permite que os desenvolvedores criem experiências usando o Unity 6. Saiba mais sobre como criar apps XR com o Unity na visão geral do Unity.
OpenXR™ e o logotipo do OpenXR são marcas registradas de propriedade da Khronos Group Inc. e estão registradas como marcas comerciais na China, na União Europeia, no Japão e no Reino Unido.