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.