Comparaison des fonctionnalités entre Mega et ARKit/ARCore
EasyAR Mega est à la fois lié à ARKit d'Apple et ARCore de Google, et différent d'eux. Comprendre leur relation et leurs avantages respectifs est essentiel pour que les développeurs comprennent le fonctionnement de Mega. En bref, Mega peut exploiter pleinement les capacités de motion tracking d'ARKit/ARCore, tout en étendant les besoins de large-scale spatial localization qu'ARKit/ARCore ne peuvent pas satisfaire.
Relation principale
ARKit/ARCore (couche de base) :
- Ce sont des AR development frameworks fournis par les systèmes d'exploitation des appareils (iOS/Android).
- Leur responsabilité principale est environment perception et tracking au niveau de l'appareil. Par exemple, ils utilisent la camera et l'IMU de l'appareil pour réaliser simultaneous localization and mapping (SLAM), plane detection, lighting estimation, image/object recognition, etc.
- Ils fournissent aux applications de couche supérieure un flux de données de pose 6DoF stable et à faible latence.
EasyAR Mega (couche application/plateforme) :
- C'est une plateforme de calcul spatial à très grande échelle.
- Sa responsabilité principale consiste à combiner des données 3D haute précision préconstruites avec une technologie avancée de visual localization afin de réaliser une persistent localization à l'échelle urbaine et au centimètre près. Il utilise les données 6DoF sous-jacentes fournies par ARKit/ARCore pour réaliser fused motion tracking.
- Mega ne remplace pas ARKit/ARCore. Au contraire, il les utilise pour obtenir les données de mouvement initiales de l'appareil dans le monde physique, puis associe ces données à la carte Mega afin de les "ancrer" dans un système de coordonnées unifié et haute précision.
Comparaison des fonctionnalités et avantages de Mega
ARKit/ARCore fournissent également certaines capacités de spatial recognition et localization, comme ARWorldMap d'ARKit et Cloud Anchors/Geospatial API d'ARCore. Ces fonctions présentent certaines similitudes avec les capacités d'ultra-large-scale spatial localization fournies par Mega, mais elles sont fondamentalement différentes. Voici une comparaison technique détaillée.
| Fonctionnalité | ARWorldMap | Cloud Anchors/Geospatial API | EasyAR Mega |
|---|---|---|---|
| Portée de localization | Peut scanner et localiser l'environnement proche | Peut scanner et localiser l'environnement proche | Peut scanner et localiser des environnements spatiaux à l'échelle d'une ville |
| Caractéristiques de localization | Peut gérer les changements d'environnement | Peut gérer les changements d'environnement | Peut gérer les changements d'environnement et les alternances jour/nuit |
| Construction map | Collectée et construite côté appareil, partagée via local area network | Collectée et construite côté appareil, partagée via des endpoints hébergés dans Google Cloud | Collectée avec des appareils dédiés et construite dans le cloud, partagée avec n'importe quel appareil via cloud localization services |
| Virtual-real occlusion | Geometric occlusion via Mesh scanné par LiDAR | Occlusion basée sur depth via Depth API | Fournit des modèles 3D détaillés avec LOD pour une geometric occlusion précise |
| Expérience multi-appareils | Prend uniquement en charge le partage et l'expérience entre appareils iOS | Partage et expérience entre appareils Android et iOS via endpoints Google Cloud | Partage et expérience sur presque tous les appareils (Android, iOS, XR headsets) via des services unifiés de cloud localization ou on-device deployment |
| Dépendances techniques | Fonctionne uniquement sur les appareils avec ARKit, et certaines fonctions ont des exigences hardware ou software supplémentaires (comme LiDAR) | Fonctionne sur les appareils avec ARKit ou ARCore | Large compatibilité avec divers appareils, sans exigence stricte d'ARKit ou ARCore |
Utilisation simultanée avec ARKit/ARCore
Lorsque vous intégrez EasyAR Mega, vous n'avez généralement pas besoin d'appeler directement les API ARKit ou ARCore. C'est un concept très important :
- Une application Mega obtient automatiquement le flux de données 6DoF ARKit/ARCore disponible selon l'appareil sur lequel elle s'exécute.
- Vous devez seulement utiliser l'API unifiée
MegaTrackerouMegaGoTrackerpour gérer les localization services et obtenir les pose data. En interne, les raw data ARKit/ARCore sont automatiquement fusionnées et calculées, vous fournissant finalement un résultat de spatial localization unifié, haute précision et suivi en continu. - Cette conception simplifie considérablement le processus de développement. Vous n'avez pas besoin d'écrire et maintenir deux ensembles de code pour différentes plateformes, ni de comprendre en profondeur les API complexes d'ARKit/ARCore. Vous devez seulement vous concentrer sur l'utilisation des fonctionnalités EasyAR Mega pour construire la logique de votre application.
Astuce
Exception : si vous souhaitez utiliser certaines fonctions spécifiques d'ARKit/ARCore tout en utilisant Mega localization, par exemple People Occlusion d'ARKit, vous devrez peut-être appeler des API native dans votre application.
EasyAR Mega n'entre pas en concurrence avec ARKit/ARCore et ne les remplace pas ; il les complète et coopère avec eux. ARKit/ARCore résolvent le problème de "comment un appareil se déplace dans l'environnement", tandis qu'EasyAR Mega résout le problème de "comment tous les appareils se localisent précisément dans le même immense espace". En combinant les deux, vous pouvez créer des applications AR inédites dotées de capacités de large-scale spatial sharing et de persistent localization.