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
MegaTrackeroMegaGoTrackerper 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.