Comparação de recursos entre Mega e ARKit/ARCore
EasyAR Mega tem relação com o ARKit da Apple e o ARCore do Google, mas também é diferente deles. Entender essa relação e as vantagens de cada um é essencial para que developers compreendam como o Mega funciona. Em termos simples, o Mega pode aproveitar totalmente as capacidades de motion tracking do ARKit/ARCore, ao mesmo tempo em que expande as necessidades de large-scale spatial localization que ARKit/ARCore não conseguem atender.
Relação central
ARKit/ARCore (camada base):
- São AR development frameworks fornecidos pelos sistemas operacionais dos dispositivos (iOS/Android).
- Sua responsabilidade central é environment perception e tracking em nível de dispositivo. Por exemplo, usam a camera e a IMU do dispositivo para implementar simultaneous localization and mapping (SLAM), plane detection, lighting estimation, image/object recognition e muito mais.
- Fornecem às aplicações de camada superior um fluxo estável e de baixa latência de pose data 6DoF.
EasyAR Mega (camada de aplicação/plataforma):
- É uma plataforma de computação espacial em escala ultra grande.
- Sua responsabilidade central é combinar dados 3D de alta precisão previamente construídos com tecnologia avançada de visual localization para alcançar persistent localization em escala de cidade e em nível centimétrico. Ele usa os dados 6DoF subjacentes fornecidos por ARKit/ARCore para implementar fused motion tracking.
- Mega não substitui ARKit/ARCore. Em vez disso, ele os utiliza para obter os dados iniciais de movimento do dispositivo no mundo físico e então combina esses dados com o mapa Mega para "ancorá-los" em um sistema de coordenadas unificado e de alta precisão.
Comparação de recursos e vantagens do Mega
ARKit/ARCore também fornecem certas capacidades de spatial recognition e localization, como ARWorldMap do ARKit e Cloud Anchors/Geospatial API do ARCore. Esses recursos têm alguma semelhança com as capacidades de ultra-large-scale spatial localization fornecidas pelo Mega, mas são fundamentalmente diferentes. A seguir está uma comparação técnica detalhada.
| Recurso | ARWorldMap | Cloud Anchors/Geospatial API | EasyAR Mega |
|---|---|---|---|
| Alcance de localization | Pode escanear e fazer localization do ambiente ao redor | Pode escanear e fazer localization do ambiente ao redor | Pode escanear e fazer localization de ambientes espaciais em escala de cidade |
| Características de localization | Pode lidar com mudanças ambientais | Pode lidar com mudanças ambientais | Pode lidar com mudanças ambientais e alternância dia/noite |
| Construção de map | Coletado e construído no lado do dispositivo, compartilhado via local area network | Coletado e construído no lado do dispositivo, compartilhado via endpoints hospedados no Google Cloud | Coletado com dispositivos dedicados e construído na cloud, compartilhado com qualquer dispositivo por cloud localization services |
| Virtual-real occlusion | Geometric occlusion por Mesh escaneado por LiDAR | Occlusion baseada em depth por Depth API | Fornece modelos 3D detalhados com LOD para geometric occlusion precisa |
| Experiência entre dispositivos | Suporta compartilhamento e experiência apenas entre dispositivos iOS | Compartilhamento e experiência entre dispositivos Android e iOS por endpoints do Google Cloud | Compartilhamento e experiência em quase todos os dispositivos (Android, iOS, XR headsets) por serviços unificados de cloud localization ou on-device deployment |
| Dependências técnicas | Executa apenas em dispositivos com ARKit, e alguns recursos têm requisitos adicionais de hardware ou software (como LiDAR) | Executa em dispositivos com ARKit ou ARCore | Amplamente compatível com vários dispositivos, sem exigência rígida de ARKit ou ARCore |
Usar ao mesmo tempo com ARKit/ARCore
Ao integrar EasyAR Mega, geralmente você não precisa chamar diretamente as APIs ARKit ou ARCore. Este é um conceito muito importante:
- Uma aplicação Mega obtém automaticamente o data stream 6DoF ARKit/ARCore disponível com base no dispositivo em que está sendo executada.
- Você só precisa usar a API unificada
MegaTrackerouMegaGoTrackerpara gerenciar localization services e obter pose data. Internamente, os raw data do ARKit/ARCore são automaticamente fundidos e calculados, fornecendo finalmente um resultado de spatial localization unificado, de alta precisão e com tracking contínuo. - Esse design simplifica muito o processo de desenvolvimento. Você não precisa escrever e manter dois conjuntos de código para plataformas diferentes, nem entender profundamente as APIs complexas de ARKit/ARCore. Você só precisa se concentrar em usar os recursos do EasyAR Mega para construir a lógica da sua aplicação.
Dica
Exceção: se você quiser usar certos recursos específicos do ARKit/ARCore enquanto usa Mega localization, como People Occlusion do ARKit, talvez seja necessário chamar APIs native na aplicação.
EasyAR Mega não compete com ARKit/ARCore nem os substitui; ele os complementa e colabora com eles. ARKit/ARCore resolvem o problema de "como um dispositivo se move no ambiente", enquanto EasyAR Mega resolve o problema de "como todos os dispositivos fazem localization com precisão no mesmo enorme espaço". Combinando os dois, você pode criar aplicações AR sem precedentes, com capacidades de large-scale spatial sharing e persistent localization.