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