Table of Contents

Confronto delle funzionalità tra Mega e ARKit/ARCore

EasyAR Mega è sia collegato sia diverso da ARKit di Apple e ARCore di Google. Comprendere la loro relazione e i rispettivi vantaggi è essenziale per gli sviluppatori che vogliono capire il funzionamento di Mega. In breve, Mega può sfruttare pienamente le capacità di motion tracking di ARKit/ARCore, estendendo al contempo le esigenze di large-scale spatial localization che ARKit/ARCore non possono soddisfare.

Relazione principale

  • ARKit/ARCore (livello base):

    • Sono AR development frameworks forniti dai sistemi operativi dei dispositivi (iOS/Android).
    • La loro responsabilità principale è environment perception e tracking a livello dispositivo. Ad esempio, usano la camera del dispositivo e l'IMU per implementare simultaneous localization and mapping (SLAM), plane detection, lighting estimation, image/object recognition e altro.
    • Forniscono alle applicazioni di livello superiore un flusso di dati pose 6DoF stabile e a bassa latenza.
  • EasyAR Mega (livello applicazione/piattaforma):

    • È una piattaforma di spatial computing su scala ultra grande.
    • La sua responsabilità principale è combinare dati 3D pre-costruiti ad alta precisione con una tecnologia avanzata di visual localization per ottenere persistent localization su scala urbana e a livello centimetrico. Usa i dati 6DoF sottostanti forniti da ARKit/ARCore per implementare fused motion tracking.
    • Mega non sostituisce ARKit/ARCore. Invece, li utilizza per ottenere i dati di movimento iniziali del dispositivo nel mondo fisico, quindi abbina questi dati alla mappa Mega per "ancorarli" a un sistema di coordinate unificato e ad alta precisione.

Confronto delle funzionalità e vantaggi di Mega

ARKit/ARCore offrono anche alcune capacità di spatial recognition e localization, come ARWorldMap di ARKit e Cloud Anchors/Geospatial API di ARCore. Queste funzioni sono in parte simili alle capacità di ultra-large-scale spatial localization offerte da Mega, ma sono fondamentalmente diverse. Di seguito è riportato un confronto tecnico dettagliato.

Funzionalità ARWorldMap Cloud Anchors/Geospatial API EasyAR Mega
Ambito di localization Può scansionare ed effettuare localization dell'ambiente circostante Può scansionare ed effettuare localization dell'ambiente circostante Può scansionare ed effettuare localization di ambienti spaziali su scala urbana
Caratteristiche di localization Può gestire cambiamenti dell'ambiente Può gestire cambiamenti dell'ambiente Può gestire cambiamenti dell'ambiente e alternanza giorno/notte
Costruzione map Raccolta e costruita lato dispositivo, condivisa tramite local area network Raccolta e costruita lato dispositivo, condivisa tramite endpoint ospitati in Google Cloud Raccolta con dispositivi dedicati e costruita nel cloud, condivisa con qualsiasi dispositivo tramite cloud localization services
Virtual-real occlusion Geometric occlusion tramite Mesh scansionata da LiDAR Occlusion basata su depth tramite Depth API Fornisce modelli 3D dettagliati con LOD per precise geometric occlusion
Esperienza cross-device Supporta condivisione ed esperienza solo tra dispositivi iOS Condivisione ed esperienza tra dispositivi Android e iOS tramite endpoint Google Cloud Condivisione ed esperienza su quasi tutti i dispositivi (Android, iOS, XR headsets) tramite servizi unificati di cloud localization o on-device deployment
Dipendenze tecniche Funziona solo su dispositivi con ARKit e alcune funzioni hanno requisiti hardware o software aggiuntivi (come LiDAR) Funziona su dispositivi con ARKit o ARCore Ampiamente compatibile con vari dispositivi, senza requisiti obbligatori di ARKit o ARCore

Uso contemporaneo con ARKit/ARCore

Quando si integra EasyAR Mega, di solito non è necessario chiamare direttamente le API ARKit o ARCore. Questo è un concetto molto importante:

  • Un'applicazione Mega ottiene automaticamente il data stream 6DoF ARKit/ARCore disponibile in base al dispositivo su cui è in esecuzione.
  • Devi solo usare l'API unificata MegaTracker o MegaGoTracker per gestire i localization services e ottenere pose data. Internamente, i dati grezzi di ARKit/ARCore vengono fusi e calcolati automaticamente, fornendo infine un risultato di spatial localization unificato, ad alta precisione e con tracking continuo.
  • Questo design semplifica notevolmente il processo di sviluppo. Non devi scrivere e mantenere due set di codice per piattaforme diverse, né comprendere a fondo le API complesse di ARKit/ARCore. Devi solo concentrarti sull'uso delle funzionalità EasyAR Mega per costruire la logica dell'applicazione.
Consiglio

Eccezione: se vuoi usare alcune funzioni specifiche di ARKit/ARCore mentre usi Mega localization, ad esempio People Occlusion di ARKit, potrebbe essere necessario chiamare API native nell'applicazione.


EasyAR Mega non compete con ARKit/ARCore né li sostituisce, ma li completa e collabora con loro. ARKit/ARCore risolvono il problema di "come un dispositivo si muove nell'ambiente", mentre EasyAR Mega risolve il problema di "come tutti i dispositivi si localizzano con precisione nello stesso enorme spazio". Combinando i due, puoi creare applicazioni AR senza precedenti con capacità di large-scale spatial sharing e persistent localization.