Desenvolver com o OpenXR

O Android XR oferece suporte a apps criados com o OpenXR por meio do suporte à especificação OpenXR 1.1 e a algumas extensões do fornecedor. O OpenXR é um padrão aberto que permite criar experiências imersivas e interativas usando um conjunto comum de APIs em uma ampla gama de dispositivos XR.

Recursos

O Android XR oferece suporte a recursos que permitem criar apps que aproveitam ao máximo os recursos exclusivos de dispositivos XR usando o OpenXR. Esses recursos incluem o seguinte.

Rastreáveis
Oferece suporte à detecção de plano, que é a capacidade de identificar e rastrear superfícies planas no ambiente, permitindo a colocação 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, garantindo que o conteúdo virtual permaneça posicionado e orientado com precisão, mesmo quando o usuário se move.
Tiro de laser
Uma técnica usada para determinar o ponto de interseção entre um feixe virtual e objetos na cena, facilitando interações como selecionar e manipular elementos virtuais.
Persistência da âncora
A capacidade de salvar e restaurar âncoras em várias sessões, permitindo a colocação persistente e consistente de conteúdo virtual no ambiente.
Rastreamento de objetos
A capacidade de rastrear mouse, teclado e outros objetos no mundo real.
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.
Transparente
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.
Transmissão da camada de composição
Permite um recorte de camada de composição de passagem de polígono e pode ser usado para trazer objetos do mundo real para uma cena.
Rastreamento de rostos
A capacidade de rastrear os recursos do rosto do usuário, permitindo a criação de avatares e personagens virtuais mais realistas e expressivos.
Rastreamento ocular
Fornece a posição e a orientação do olho do usuário, que é projetada para tornar a pose dos olhos dos avatares mais realistas.
Rastreamento de mãos
A capacidade de rastrear a posição e o movimento das mãos do usuário.
Mão em malha
Fornece uma representação precisa das mãos do usuário como uma malha de poligonal baixa. Otimizado para entrega de plataforma a 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 mistura.
Estimativa de luz
Usado para que os modelos de iluminação correspondam às condições de iluminação reais do usuário.

Dispositivos de entrada compatíveis

O Android XR também oferece suporte aos seguintes dispositivos de entrada:

Interação com a mão
O reconhecimento de gestos específicos das mãos, como gesto de pinça, deslizar e apontar, permitindo que os usuários interajam com objetos virtuais usando gestos e movimentos das mãos.
Interação de contato visual
A capacidade de rastrear os movimentos oculares 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 controladores com vinculações de botão direcional e botão para acionar ações ou eventos de passar o cursor no aplicativo.
Interação com o mouse
A capacidade dos usuários de interagir com objetos usando um apontador de mouse no espaço 3D

Recursos de desempenho compatíveis

O Android XR oferece suporte aos seguintes recursos relacionados ao desempenho.

Foveação rastreada pelos olhos
Permite que um app renderize conteúdo de resolução mais alta apenas no ponto focal dos olhos.
Warp espacial
Usar vetores de velocidade e informações de textura de profundidade para gerar frames de interpolação, o que aumenta de forma eficaz a taxa de frames necessária para manter os usuários imersos nas experiências
Métricas de desempenho
Fornece métricas de desempenho do Android XR no momento da execução do dispositivo, compositor e aplicativo XR atual. 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 mais.

Consulte o Resumo dos recursos do OpenXR para conferir uma lista completa de recursos e extensões com suporte.

Mecanismos com suporte

Unity

O suporte do Android XR para Unity, criado com base no OpenXR, permite que os desenvolvedores criem experiências usando o Unity 6. Saiba mais sobre como criar apps de RA com o Unity na visão geral do Unity.