Table of Contents

Mega vs funcionalidades do ARKit/ARCore

O EasyAR Mega tem semelhanças e diferenças em relação ao ARKit da Apple e ao ARCore do Google. Compreender a relação entre eles e as vantagens de cada um é crucial para os desenvolvedores dominarem o mecanismo de funcionamento do Mega. Em resumo, o Mega pode aproveitar plenamente as capacidades de rastreamento de movimento do ARKit/ARCore, ao mesmo tempo que expande as necessidades de localização em grande escala que o ARKit/ARCore não consegue atender.

Relação central

  • ARKit/ARCore (camada base):

    • São frameworks de desenvolvimento de RA fornecidos pelo sistema operacional do dispositivo (iOS/Android).
    • Sua responsabilidade principal é: percepção e rastreamento ambiental a nível de dispositivo. Por exemplo, utilizam a câmera e o IMU do dispositivo para implementar localização e mapeamento simultâneos (SLAM), detecção de planos, estimativa de iluminação, reconhecimento de imagem/objeto, etc.
    • Eles fornecem aos aplicativos de nível superior um fluxo de dados de pose 6DoF estável e de baixa latência.
  • EasyAR Mega (camada de aplicativo/plataforma):

    • É uma plataforma de computação de espaço ultra grande.
    • Sua responsabilidade principal é: combinar dados tridimensionais pré-construídos e de alta precisão com tecnologia avançada de localização visual para alcançar localização persistente em escala de cidade com precisão centimétrica. Utiliza os dados 6DoF subjacentes fornecidos pelo ARKit/ARCore para implementar rastreamento de movimento por fusão.
    • O Mega não substitui o ARKit/ARCore. Em vez disso, utiliza-os para obter os dados iniciais de movimento do dispositivo no mundo físico e, em seguida, através da correspondência com o mapa do Mega, "ancora" esses dados em um sistema de coordenadas unificado e de alta precisão.

Comparação de funcionalidades e vantagens do Mega

O ARKit/ARCore também oferece certas capacidades de reconhecimento e localização espacial, como o ARWorldMap do ARKit e as APIs Cloud Anchors/Geospatial do ARCore. Essas funcionalidades têm alguma semelhança com a capacidade de localização em espaço ultra grande fornecida pelo Mega, mas possuem diferenças fundamentais. Abaixo está uma comparação técnica detalhada entre os dois.

Funcionalidade ARWorldMap Cloud Anchors/Geospatial API EasyAR Mega
Escala de localização Pode escanear e localizar o ambiente circundante Pode escanear e localizar o ambiente circundante Pode escanear e localizar ambientes de espaço em escala de cidade
Característica de localização Pode lidar com mudanças ambientais Pode lidar com mudanças ambientais Pode lidar com mudanças ambientais, alternância dia/noite
Construção do mapa Coletado e construído no dispositivo, compartilhado via rede local Coletado e construído no dispositivo, compartilhado via endpoints em nuvem hospedados no Google Coletado por dispositivos dedicados e construído na nuvem, compartilhado em qualquer dispositivo cliente via serviço de localização em nuvem
Oclusão virtual-real Realiza oclusão geométrica via Mesh escaneado por LiDAR Realiza oclusão baseada em profundidade via Depth API Fornece modelos 3D ricos em detalhes com LOD, permitindo oclusão geométrica precisa
Experiência entre dispositivos Suporta compartilhamento e experiência apenas entre dispositivos iOS Permite compartilhamento e experiência entre dispositivos Android e iOS via endpoints em nuvem do Google Permite compartilhamento e experiência entre praticamente todos os dispositivos (Android, iOS, headsets XR) via serviço unificado de localização em nuvem
Dependência técnica Funciona apenas em dispositivos com ARKit, alguns recursos exigem hardware ou software adicional (ex: LiDAR) Funciona em dispositivos com ARKit ou ARCore Compatível com uma ampla gama de dispositivos, não exige rigidamente que o dispositivo tenha ARKit ou ARCore

Utilização simultânea com ARKit/ARCore

Ao integrar o EasyAR Mega, geralmente não é necessário chamar diretamente as interfaces do ARKit ou ARCore. Este é um conceito muito importante:

  • O aplicativo Mega obtém automaticamente o fluxo de dados 6DoF disponível do ARKit/ARCore com base no dispositivo terminal em execução.
  • Você só precisa usar a API unificada MegaTracker para gerenciar o serviço de localização e obter dados de pose. Internamente, os dados brutos do ARKit/ARCore são calculados por fusão automaticamente, fornecendo-lhe, no final, um resultado unificado de localização espacial de alta precisão e rastreamento contínuo.
  • Este design simplifica enormemente o fluxo de desenvolvimento. Você não precisa escrever e manter dois conjuntos de código para diferentes plataformas, nem precisa entender profundamente as APIs complexas do ARKit/ARCore. Você só precisa se concentrar em usar as funcionalidades do EasyAR Mega para construir a lógica do seu aplicativo.
Dica

Exceção: Se você desejar utilizar a localização do Mega e, ao mesmo tempo, aproveitar certas funcionalidades específicas do ARKit/ARCore (por exemplo, People Occlusion do ARKit), pode ser necessário fazer chamadas mistas à API nativa no seu aplicativo.


O EasyAR Mega não compete nem substitui o ARKit/ARCore, mas complementa e sinergiza com eles. O ARKit/ARCore resolve o problema de "como o dispositivo se move no ambiente", enquanto o EasyAR Mega resolve o problema de "como todos os dispositivos se localizam com precisão no mesmo espaço enorme". Ao combinar os dois, você pode construir aplicativos de RA inéditos, com capacidade de compartilhamento espacial em grande escala e localização persistente.