Suporte para headsets e óculos do EasyAR
O EasyAR SDK oferece recursos poderosos de RA multiplataforma, e sua filosofia de design também se aplica a dispositivos emergentes de computação espacial - headsets. Este artigo apresentará como o EasyAR suporta dispositivos headset e como os desenvolvedores podem aproveitar esses recursos para criar experiências imersivas.
Terminologia
Neste documento, "headset" ou "headset" refere-se especificamente a uma categoria de dispositivos computacionais com formato de uso na cabeça, que suportam interação imersiva ou see-through. Eles podem apresentar conteúdo virtual diante dos olhos do usuário, proporcionando experiências de realidade aumentada (RA) ou realidade mista (RM). Isso inclui:
- Headsets ópticos see-through (Optical See-Through, OST): visualizam o mundo real diretamente através de lentes semitransparentes
- Headsets de vídeo see-through (Video See-Through, VST): capturam o mundo real através de câmeras e o visualizam como um fluxo de vídeo
Convencionalmente, os headsets também são frequentemente chamados de óculos RA, óculos RM ou capacetes RV, e os nomes específicos podem variar de acordo com o fabricante e o tipo de dispositivo. No entanto, neste texto usaremos consistentemente "headset" para nos referirmos a essa categoria de dispositivos.
Princípios básicos de funcionamento dos headsets
Para entender melhor os princípios de suporte do EasyAR aos headsets, primeiro precisamos compreender o fluxo de trabalho básico desses dispositivos:
- Percepção ambiental: através de múltiplas câmeras embutidas, sensores de profundidade (como iToF) e unidades de medição inercial (IMU), percebem em tempo real a estrutura geométrica, condições de iluminação e superfícies de objetos ao redor.
- Computação espacial: com base nos dados dos sensores, o sistema SLAM rastreia em tempo real a pose 6DoF (posição + orientação) da cabeça do usuário.
- Renderização e exibição de conteúdo: o conteúdo 3D (como modelos, efeitos) é renderizado de acordo com a pose do dispositivo e o resultado é projetado no display. No modo RV, é exibida uma cena puramente virtual; no modo RA/RM, a cena virtual é combinada com o ambiente real (imagem da câmera VST ou fundo transparente OST).
- Sistema de interação: através de controles manuais, reconhecimento de gestos, voz ou rastreamento ocular, recebe comandos do usuário e responde.
Princípio de suporte do EasyAR aos headsets
O EasyAR não substitui o rastreamento espacial nativo ou o pipeline de renderização do headset, mas atua como um reforço de computação espacial trabalhando em sinergia com eles. Como motor de algoritmos de RA profissional, fornece capacidades de percepção e computação espacial para diversos cenários de RA, colaborando eficientemente com o sistema nativo do dispositivo.
| Escopo de responsabilidade | Divisão de funções |
|---|---|
| Rastreamento 6DOF da cabeça, renderização de exibição, interação básica, etc. | SDK/tempo de execução nativo do headset |
| Capacidades avançadas de percepção como reconhecimento/rastreamento de imagem/objeto, localização em grandes espaços, etc. | EasyAR SDK |
O EasyAR SDK fornece recursos essenciais de RA para percepção do mundo, como reconhecimento/rastreamento de imagem/objeto, reconstrução esparsa, reconstrução densa e localização em grandes espaços. Ele é responsável por "entender" o mundo e informar ao aplicativo do headset onde o conteúdo virtual deve ser colocado.
O EasyAR SDK é integrado como um plug-in ou biblioteca à estrutura de desenvolvimento de aplicativos do headset (normalmente Unity ou Unreal). Ele recebe fluxos de dados brutos do sistema do dispositivo, processa e calcula, e então emite uma matriz de pose relativa ao sistema de coordenadas espaciais do dispositivo. Finalmente, o pipeline de renderização do motor do headset desenha o objeto virtual na posição correta.
Disponibilidade de suporte e métodos de implementação
O EasyAR oferece suporte abrangente às principais plataformas de desenvolvimento para headsets, implementado principalmente das seguintes formas:
- Através do Unity/Unreal Engine: esta é a forma mais comum e recomendada. Os fabricantes de headsets normalmente fornecem plug-ins específicos para Unity/Unreal ou um XR SDK. O EasyAR pode ser integrado perfeitamente ao SDK do fabricante.
- Através da plataforma nativa (Native): para cenários que exigem desempenho máximo ou desenvolvimento nativo específico, podem ser usadas as interfaces nativas C++/Java/Objective-C do EasyAR. Isso geralmente requer que o desenvolvedor gerencie a interface com os dados de baixo nível do dispositivo.
O EasyAR foi testado e validado em várias plataformas principais de headsets usando a abordagem Unity. Os dispositivos atualmente confirmados como suportados são:
| Modelo de dispositivo headset | Requisitos de versão do sistema/SDK |
|---|---|
| Apple Vision Pro | visionOS 2 ou versão mais recente |
| PICO 4 Ultra Enterprise | PICO Unity Integration SDK 3.1.0 ou versão mais recente |
| Rokid AR Studio | Rokid Unity OpenXR Plugin 3.0.3 ou versão mais recente |
| XREAL Air2 Ultra | XREAL SDK 3.1 ou versão mais recente |
| Xrany X1 | Xrany元霓 SDK |
Nota
O Rokid AR Studio pode suportar o Rokid UXR 3 através do Rokid Unity OpenXR Plugin, mas recomenda-se o uso do XR Interaction Toolkit, especialmente para uso entre dispositivos.
Importante
Apple Vision Pro, PICO e XREAL exigem suas respectivas licenças empresariais para uso. Em caso de dúvidas, entre em contato com o departamento comercial.
- Devido a restrições de licenciamento de interface do Apple Vision Pro, o suporte é limitado a dispositivos com licença para API empresarial da Apple.
- Devido a restrições de licenciamento de interface do PICO, o suporte é limitado a dispositivos PICO Enterprise Edition.
- Devido a restrições de licenciamento de interface do XREAL, o suporte é limitado a dispositivos com licença empresarial.
Para headsets de outros fabricantes não mencionados acima, o EasyAR oferece métodos de extensão para conexão personalizada de câmera, etc. Consulte criar um pacote de extensão para headset do EasyAR para realizar a integração, que pode ser feita por você mesmo.
Isso geralmente envolve as seguintes etapas:
- Obter permissão de desenvolvimento do dispositivo: solicite uma conta de desenvolvedor e a documentação do SDK para o headset alvo.
- Obter fluxo de dados dos sensores: obtenha do SDK do dispositivo os dados necessários, como imagem da câmera (quadros de vídeo), parâmetros da câmera, etc.
- Chamar a API do EasyAR: use a API de baixo nível do EasyAR para alimentar os dados dos sensores obtidos no
FrameSourcedo EasyAR para processamento. - Obter e aplicar resultados de cálculo: obtenha os resultados de cálculo (pose da câmera) do motor do EasyAR e aplique-os ao seu mecanismo de renderização 3D.
Fornecemos guias de desenvolvimento detalhados e códigos de exemplo para ajudá-lo neste processo. Se encontrar problemas durante a integração, busque suporte técnico em nossa comunidade de desenvolvedores.
Funcionalidades principais disponíveis
Em dispositivos headset, você pode aproveitar plenamente a matriz de funcionalidades completas do EasyAR para criar aplicativos espaciais ricos:
- Rastreamento de imagem plana: reconhece e rastreia imagens predefinidas, sobrepondo vídeo dinâmico ou modelos 3D sobre a imagem.
- Rastreamento de objeto 3D: reconhece e rastreia modelos 3D predefinidos (como brinquedos, embalagens de produtos) e permite que o conteúdo virtual interaja com eles.
- Mapa espacial esparso: escaneia o ambiente ao redor para gerar um mapa visual tridimensional e fornece funcionalidades de localização e rastreamento visual. O mapa gerado pode ser salvo ou compartilhado em tempo real entre vários dispositivos.
- Mapa espacial denso: escaneia e gera um mapa denso de nuvem de pontos e modelo de malha (Mesh) do ambiente ao redor, permitindo relações de oclusão física entre objetos virtuais e reais, aumentando imensamente a imersão.
- Reconhecimento de imagem na nuvem: conecta-se ao banco de dados em nuvem do EasyAR para reconhecimento e gerenciamento de imagens em massa, adequado para cenários como exposições e educação.
- Localização Mega em grandes espaços: solução de computação espacial em nível urbano, conecta-se ao serviço de localização em nuvem do EasyAR para fornecer localização e rastreamento estáveis, rápidos e precisos, expandindo enormemente o alcance das experiências de RA.
Guias específicos da plataforma
Para ajudá-lo a começar rapidamente em plataformas específicas, preparamos guias detalhados de integração multiplataforma. Clique nas abas abaixo para ver os tutoriais de início rápido da plataforma correspondente.
- Introdução
- Usando amostras de headset
- Habilitando suporte a headset
- Configuração do projeto
- Criando um pacote de extensão para headset do EasyAR