Comparación de funciones entre Mega y ARKit/ARCore
EasyAR Mega está relacionado con ARKit de Apple y ARCore de Google, pero también es diferente de ellos. Comprender su relación y las ventajas de cada uno es fundamental para que los desarrolladores entiendan cómo funciona Mega. En pocas palabras, Mega puede aprovechar plenamente las capacidades de motion tracking de ARKit/ARCore, al tiempo que amplía las necesidades de large-scale spatial localization que ARKit/ARCore no pueden satisfacer.
Relación principal
ARKit/ARCore (capa base):
- Son AR development frameworks proporcionados por los sistemas operativos de los dispositivos (iOS/Android).
- Su responsabilidad principal es environment perception y tracking a nivel de dispositivo. Por ejemplo, utilizan la camera del dispositivo y la IMU para implementar simultaneous localization and mapping (SLAM), plane detection, lighting estimation, image/object recognition, etc.
- Proporcionan a las aplicaciones de capa superior un flujo de datos de pose 6DoF estable y de baja latencia.
EasyAR Mega (capa de aplicación/plataforma):
- Es una plataforma de computación espacial de escala ultra grande.
- Su responsabilidad principal es combinar datos 3D de alta precisión previamente construidos con tecnología avanzada de visual localization para lograr persistent localization a escala de ciudad y a nivel centimétrico. Usa los datos 6DoF subyacentes proporcionados por ARKit/ARCore para implementar fused motion tracking.
- Mega no reemplaza a ARKit/ARCore. En cambio, los utiliza para obtener datos iniciales de movimiento del dispositivo en el mundo físico y luego compara esos datos con el mapa Mega para "anclarlos" en un sistema de coordenadas unificado y de alta precisión.
Comparación de funciones y ventajas de Mega
ARKit/ARCore también proporcionan ciertas capacidades de spatial recognition y localization, como ARWorldMap de ARKit y Cloud Anchors/Geospatial API de ARCore. Estas funciones tienen cierta similitud con las capacidades de ultra-large-scale spatial localization proporcionadas por Mega, pero son fundamentalmente diferentes. A continuación se muestra una comparación técnica detallada.
| Función | ARWorldMap | Cloud Anchors/Geospatial API | EasyAR Mega |
|---|---|---|---|
| Rango de localization | Puede escanear y localizar el entorno circundante | Puede escanear y localizar el entorno circundante | Puede escanear y localizar entornos espaciales a escala de ciudad |
| Características de localization | Puede responder a cambios del entorno | Puede responder a cambios del entorno | Puede responder a cambios del entorno y transiciones día/noche |
| Construcción de map | Recopilado y construido en el dispositivo, compartido mediante local area network | Recopilado y construido en el dispositivo, compartido mediante endpoints alojados en Google Cloud | Recopilado con dispositivos dedicados y construido en cloud, compartido con cualquier dispositivo mediante cloud localization services |
| Virtual-real occlusion | Geometric occlusion mediante Mesh escaneado por LiDAR | Occlusion basada en depth mediante Depth API | Proporciona modelos 3D detallados con LOD para geometric occlusion precisa |
| Experiencia entre dispositivos | Solo admite compartir y experimentar entre dispositivos iOS | Compartir y experimentar entre dispositivos Android e iOS mediante endpoints de Google Cloud | Compartir y experimentar en casi todos los dispositivos (Android, iOS, XR headsets) mediante servicios unificados de cloud localization o on-device deployment |
| Dependencias técnicas | Solo se ejecuta en dispositivos con ARKit, y algunas funciones tienen requisitos adicionales de hardware o software (como LiDAR) | Se ejecuta en dispositivos con ARKit o ARCore | Amplia compatibilidad con diversos dispositivos, sin exigir obligatoriamente ARKit o ARCore |
Usar junto con ARKit/ARCore
Al integrar EasyAR Mega, normalmente no necesita llamar directamente a las API de ARKit o ARCore. Este es un concepto muy importante:
- Una aplicación Mega obtiene automáticamente el flujo de datos 6DoF disponible de ARKit/ARCore según el dispositivo en el que se ejecuta.
- Solo necesita usar la API unificada
MegaTrackeroMegaGoTrackerpara gestionar servicios de localization y obtener datos de pose. Internamente, los datos brutos de ARKit/ARCore se fusionan y calculan automáticamente, proporcionando finalmente un resultado de spatial localization unificado, de alta precisión y con tracking continuo. - Este diseño simplifica enormemente el proceso de desarrollo. No necesita escribir y mantener dos conjuntos de código para distintas plataformas, ni comprender en profundidad las API complejas de ARKit/ARCore. Solo necesita centrarse en usar las funciones de EasyAR Mega para construir la lógica de su aplicación.
Consejo
Excepción: si desea usar algunas funciones específicas de ARKit/ARCore mientras utiliza Mega localization, como People Occlusion de ARKit, puede que necesite llamar API native en su aplicación.
EasyAR Mega no compite con ARKit/ARCore ni los reemplaza, sino que los complementa y colabora con ellos. ARKit/ARCore resuelven el problema de "cómo se mueve un dispositivo en el entorno", mientras que EasyAR Mega resuelve el problema de "cómo todos los dispositivos se localizan con precisión en el mismo espacio enorme". Al combinar ambos, puede crear aplicaciones AR sin precedentes con capacidades de large-scale spatial sharing y persistent localization.