Desenvolver com o OpenXR

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 logotipo de texto do OpenXR

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.