Suporte a headsets e glasses do EasyAR
O SDK do EasyAR oferece poderosos recursos AR multiplataforma, e seu conceito de design também se adapta aos novos dispositivos de spatial computing, os headsets. Este artigo explica como o EasyAR oferece suporte a dispositivos headset e como os desenvolvedores podem usar esses recursos para criar immersive experiences.
Explicação dos termos
Neste documento, "headset" ou "Headset" refere-se especificamente a um tipo de dispositivo de computação usado na cabeça que suporta interação immersive ou see-through. Esses dispositivos podem exibir virtual content diante dos olhos do usuário, permitindo experiências de augmented reality (AR) ou mixed reality (MR). Isso inclui:
- Optical See-Through, OST Headset: permite ver diretamente o mundo real por meio de lentes semitransparentes.
- Video See-Through, VST Headset: captura o mundo real por meio de uma camera e o mostra como video stream. Em geral, headsets também são chamados de AR glasses, MR glasses ou VR helmet. Os nomes específicos podem variar conforme o vendor e o tipo de dispositivo, mas neste artigo usamos "headset" para nos referirmos de forma uniforme a esse tipo de dispositivo.
Princípio básico de funcionamento dos headsets
Para entender melhor o princípio de suporte do EasyAR para headsets, primeiro precisamos entender o fluxo básico de funcionamento desses dispositivos:
- Environmental sensing: por meio de várias cameras integradas, depth sensor como iToF e inertial measurement unit (IMU), o dispositivo percebe em tempo real a estrutura geométrica, as condições de luz e as superfícies dos objetos no ambiente.
- Spatial computing: com base nos dados dos sensores, o sistema SLAM rastreia em tempo real a 6DoF pose da cabeça do usuário (posição + orientação).
- Content rendering and display: o conteúdo 3D, como modelos e efeitos, é renderizado de acordo com a pose do dispositivo e projetado na tela. No modo VR, apenas uma imagem virtual pura é exibida; no modo AR/MR, a imagem virtual é combinada com o ambiente real (imagem de camera VST ou fundo see-through OST).
- Interaction system: recebe comandos do usuário e responde por meio de controller, gesture recognition, voz ou eye tracking.
Princípio de suporte do EasyAR para headsets
O EasyAR não substitui o native spatial tracking ou o rendering pipeline do headset, mas trabalha junto com eles como um "spatial computing enhancer". Como um AR algorithm engine profissional, ele fornece capacidades de spatial perception e computing para vários cenários AR e coopera de forma eficiente com o sistema nativo do dispositivo.
| Scope of Responsibility | Role Division |
|---|---|
| 6DOF head tracking, display rendering, basic interaction, etc. | SDK/runtime nativo do headset |
| Capacidades avançadas de percepção, como image/object recognition e tracking, além de large-scale spatial positioning | EasyAR SDK |
O SDK do EasyAR fornece as funções centrais de AR para compreender o mundo, como image/object recognition, sparse reconstruction, dense reconstruction e large-scale spatial positioning. Ele é responsável por "entender" o mundo e dizer ao aplicativo de headset onde posicionar o virtual content.
O SDK do EasyAR é integrado ao framework de desenvolvimento de aplicativos headset, normalmente Unity ou Unreal, como plugin ou library. Ele recebe o fluxo de dados bruto do sistema do dispositivo, processa e calcula esses dados e então gera uma pose matrix relativa ao spatial coordinate system do dispositivo. No fim, o rendering pipeline do engine do headset desenha os virtual objects na posição correta.
Status de suporte e métodos de implementação
O EasyAR oferece suporte completo às principais platform de desenvolvimento de headset, implementado principalmente de duas formas:
- Via Unity/Unreal Engine: esta é a forma mais comum e recomendada. Os vendors de headset normalmente fornecem plugins Unity/Unreal específicos ou XR SDK. O EasyAR pode ser integrado sem problemas a esses SDKs.
- Via platform Native: para cenários que exigem desempenho extremo ou desenvolvimento native específico, você pode usar as native interfaces do EasyAR em C++, Java ou Objective-C. Normalmente isso exige que o desenvolvedor trate sozinho do interface docking com os dados de baixo nível do dispositivo.
O EasyAR já foi testado e verificado em várias principais platform de headset via Unity. Os dispositivos atualmente confirmados como suportados são os seguintes:
| Modelo do headset | Vendor SDK and version requirement | System and firmware version requirement |
|---|---|---|
| Apple Vision Pro | ARKit in visionOS | visionOS 2 ou posterior |
| PICO 4 Ultra1 | PICO Unity Integration SDK 3.4.0 ou posterior | Versões declaradas como suportadas pelo SDK do fabricante2 |
| PICO Space Pro1 | PICO Unity Integration SDK 3.4.0 ou posterior | Versões declaradas como suportadas pelo SDK do fabricante2 |
| Meta Quest 3/3S3 | Meta MRUK (Mixed Reality Utility Kit) 201 ou posterior | Versões declaradas como suportadas pelo SDK do fabricante2 |
| Rokid Max Pro (Rokid AR Studio or other officially supported Rokid usage methods) |
Rokid Unity OpenXR Plugin 3.0.3 ou posterior | Versões declaradas como suportadas pelo SDK do fabricante2 |
| XREAL Air2 Ultra | XREAL SDK 3.1 ou posterior | Versões declaradas como suportadas pelo SDK do fabricante2 |
| Xrany X1 | Xrany Yuanni SDK | Versões declaradas como suportadas pelo SDK do fabricante2 |
Nota
O Rokid Max Pro pode ser suportado via Rokid Unity OpenXR Plugin para Rokid UXR 3, mas é recomendado usar XR Interaction Toolkit, especialmente para uso cross-device.
Importante
Tanto o Apple Vision Pro quanto o XREAL exigem a respectiva enterprise authorization para uso. Se tiver dúvidas, entre em contato com a equipe comercial.
- Devido às restrições de interface authorization do Apple Vision Pro, apenas dispositivos com Apple enterprise API license são suportados.
- Devido às restrições de interface authorization do XREAL, apenas dispositivos com enterprise authorization são suportados.
Para dispositivos headset de outros vendors não citados acima, o EasyAR fornece um método de acesso estendido como custom camera. Você pode consultar Create an EasyAR Headset Extension Package para realizar o acesso e concluir a integração por conta própria.
Isso normalmente inclui as etapas a seguir:
- Obter os direitos de desenvolvimento do dispositivo: solicite uma developer account e a SDK documentation do headset-alvo.
- Obter fluxos de dados dos sensores: extraia do SDK do dispositivo os dados necessários, como camera images (video frames) e camera parameters.
- Chamar a API do EasyAR: use a low-level API do EasyAR para enviar os sensor data obtidos ao
FrameSourcedo EasyAR para processamento. - Obter e aplicar os resultados do cálculo: recupere os resultados de cálculo (camera pose) do engine do EasyAR e aplique-os ao seu 3D rendering engine.
Fornecemos guias de desenvolvimento detalhados e sample code para ajudar você a concluir esse processo. Se encontrar problemas durante a integração, você pode buscar suporte técnico em nossa developer community.
Funções principais disponíveis
Em dispositivos headset, você pode aproveitar totalmente a matrix de recursos do EasyAR para criar rich spatial applications:
- Planar Image Tracking: reconhece e rastreia imagens predefinidas, sobrepondo vídeos dinâmicos ou modelos 3D sobre elas.
- 3D Object Tracking: reconhece e rastreia modelos 3D predefinidos, como brinquedos e caixas de produtos, permitindo que o virtual content interaja com eles.
- Sparse Spatial Map: escaneia o ambiente para gerar um 3D visual map e fornece funções de visual positioning e tracking. O mapa gerado pode ser salvo ou compartilhado em tempo real entre vários dispositivos.
- Dense Spatial Map: escaneia e gera um dense point cloud map e um mesh model (Mesh) do ambiente, alcançando physical occlusion entre objetos virtuais e reais e aumentando muito a sensação de imersão.
- Cloud Image Recognition: conecta-se ao cloud database do EasyAR para reconhecer e gerenciar uma grande quantidade de imagens, adequado para cenários como exposições e educação.
- Mega Large-Scale Spatial Positioning: solução de spatial computing em nível de cidade que se conecta ao cloud positioning service do EasyAR para obter positioning e tracking estáveis, rápidos e precisos, ampliando significativamente o alcance das experiências AR.
Guias específicos por plataforma
Para ajudar você a começar rapidamente em plataformas específicas, preparamos guias detalhados de integração multiplataforma. Clique nas abas abaixo para ver os quick-start tutorials da plataforma correspondente.
- Introduction
- Using Headset Samples
- Enabling Headset Support
- Project Configuration
- Create an EasyAR Headset Extension Package
-
É necessário usar EasyAR Sense Unity Plugin PICO Extension 4000.1 ou mais recente + EasyAR Sense Unity Plugin 4003.1 ou mais recente. As versões anteriores só suportam dispositivos PICO 4 Ultra Enterprise e exigem enterprise interface authorization do vendor PICO.↩↩
-
A compatibilidade de sistema e firmware é mantida pelo fabricante. A EasyAR fornece apenas suporte de compatibilidade ao SDK do fabricante.↩↩↩↩↩↩
-
É necessário EasyAR Sense Unity Plugin 4003.1.1 ou posterior.↩