Table of Contents

Mega vs funzionalità ARKit/ARCore

EasyAR Mega ha sia connessioni che differenze rispetto ad ARKit di Apple e ARCore di Google. Comprendere la loro relazione e i rispettivi vantaggi è cruciale per gli sviluppatori che vogliono padroneggiare il funzionamento di Mega. In breve, Mega può sfruttare appieno le capacità di tracciamento del movimento di ARKit/ARCore, estendendosi contemporaneamente per soddisfare le esigenze di localizzazione in spazi enormi che ARKit/ARCore non può affrontare.

Relazione fondamentale

  • ARKit/ARCore (livello base):

    • Sono framework di sviluppo AR forniti dal sistema operativo del dispositivo (iOS/Android).
    • La loro responsabilità principale è la percezione e il tracciamento ambientale a livello dispositivo. Ad esempio, utilizzano la fotocamera del dispositivo e l'IMU per implementare localizzazione e mappatura simultanee (SLAM), rilevamento di piani, stima dell'illuminazione, riconoscimento di immagini/oggetti, ecc.
    • Forniscono ai livelli superiori un flusso di dati di posa 6DoF stabile e a bassa latenza.
  • EasyAR Mega (livello applicazione/piattaforma):

    • È una piattaforma di calcolo per spazi enormi.
    • La sua responsabilità principale è: combinare dati 3D precostruiti ad alta precisione con tecnologie avanzate di localizzazione visiva per realizzare una localizzazione su scala urbana, centimetrica e persistente. Utilizza i dati 6DoF di base forniti da ARKit/ARCore per implementare un tracciamento del movimento fusion.
    • Mega non sostituisce ARKit/ARCore. Piuttosto, sfrutta questi ultimi per ottenere i dati iniziali di movimento del dispositivo nel mondo fisico, quindi, attraverso la corrispondenza con la mappa Mega, "ancora" questi dati a un sistema di coordinate unificato e ad alta precisione.

Confronto funzionale e vantaggi di Mega

ARKit/ARCore offrono anche alcune capacità di riconoscimento e localizzazione spaziale, come ARWorldMap di ARKit e Cloud Anchors/Geospatial API di ARCore. Queste funzionalità presentano alcune somiglianze con le capacità di localizzazione in spazi enormi fornite da Mega, ma hanno differenze fondamentali. Di seguito è riportato un confronto tecnico dettagliato tra le due.

Funzionalità ARWorldMap Cloud Anchors/Geospatial API EasyAR Mega
Portata della localizzazione Può scansionare e localizzare l'ambiente circostante Può scansionare e localizzare l'ambiente circostante Può scansionare e localizzare ambienti spaziali di livello urbano
Caratteristiche della localizzazione Può gestire cambiamenti ambientali Può gestire cambiamenti ambientali Può gestire cambiamenti ambientali, alternanza giorno/notte
Costruzione della mappa Acquisita e costruita lato dispositivo, condivisa tramite LAN Acquisita e costruita lato dispositivo, condivisa tramite endpoint cloud ospitati da Google Acquisita con dispositivi dedicati e costruita nel cloud, condivisa tramite servizio di localizzazione cloud su qualsiasi dispositivo
Occlusione realtà-virtuale Realizzata tramite Mesh scansionata con LiDAR per l'occlusione geometrica Realizzata tramite Depth API per l'occlusione basata sulla profondità Fornisce modelli 3D ricchi di dettagli con LOD per un'occlusione geometrica precisa
Esperienza cross-device Supporta solo la condivisione e l'esperienza tra dispositivi iOS Realizza la condivisione e l'esperienza tra dispositivi Android e iOS tramite endpoint cloud Google Realizza la condivisione e l'esperienza tra quasi tutti i dispositivi (Android, iOS, visori XR) tramite un servizio di localizzazione cloud unificato
Dipendenze tecniche Funziona solo su dispositivi con ARKit, alcune funzionalità richiedono hardware o software aggiuntivo (es. LiDAR) Funziona su dispositivi compatibili con ARKit o ARCore Ampia compatibilità con vari dispositivi, non richiede obbligatoriamente ARKit o ARCore

Utilizzo congiunto con ARKit/ARCore

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

  • L'applicazione Mega ottiene automaticamente il flusso di dati 6DoF disponibile da ARKit/ARCore in base al dispositivo terminale in esecuzione.
  • È sufficiente utilizzare l'API unificata MegaTracker per gestire il servizio di localizzazione e ottenere i dati di posa. Internamente, i dati grezzi di ARKit/ARCore vengono automaticamente sottoposti a calcoli fusion, fornendo infine un risultato di localizzazione spaziale unificato, ad alta precisione e in tracciamento continuo.
  • Questa progettazione semplifica notevolmente il flusso di sviluppo. Non è necessario scrivere e mantenere due set di codice per piattaforme diverse, né è necessario comprendere a fondo le complesse API di ARKit/ARCore. È possibile concentrarsi esclusivamente sull'utilizzo delle funzionalità di EasyAR Mega per costruire la logica dell'applicazione.
Consiglio

Eccezione: Se si desidera utilizzare la localizzazione Mega insieme a determinate funzionalità specifiche di ARKit/ARCore (ad esempio, People Occlusion di ARKit), potrebbe essere necessario effettuare chiamate miste alle API native nell'app.


EasyAR Mega non è in competizione con ARKit/ARCore né li sostituisce, ma piuttosto li completa e opera in sinergia con essi. ARKit/ARCore risolvono il problema di "come si muove il dispositivo nell'ambiente", mentre EasyAR Mega risolve il problema di "come tutti i dispositivi si localizzano con precisione nello stesso spazio enorme". Combinando le due cose, è possibile costruire applicazioni AR senza precedenti, dotate di capacità di condivisione spaziale su larga scala e localizzazione persistente.