Mega vs funcionalidades de ARKit/ARCore
EasyAR Mega tiene similitudes y diferencias con ARKit de Apple y ARCore de Google. Comprender su relación y sus ventajas respectivas es crucial para que los desarrolladores dominen el funcionamiento de Mega. En pocas palabras, Mega puede aprovechar plenamente las capacidades de seguimiento de movimiento de ARKit/ARCore, al mismo tiempo que amplía las necesidades de posicionamiento en espacios grandes que ARKit/ARCore no puede satisfacer.
Relación fundamental
ARKit/ARCore (capa base):
- Son frameworks de desarrollo de AR proporcionados por el sistema operativo del dispositivo (iOS/Android).
- Su responsabilidad principal es: la percepción y seguimiento ambiental a nivel de dispositivo. Por ejemplo, utilizar las cámaras del dispositivo y la IMU para implementar SLAM (localización y mapeo simultáneos), detección de planos, estimación de iluminación, reconocimiento de imágenes/objetos, etc.
- Proporcionan a las aplicaciones de nivel superior un flujo de datos de pose de 6DoF estable y de baja latencia.
EasyAR Mega (capa de aplicación/plataforma):
- Es una plataforma de computación de espacios ultra grandes.
- Su responsabilidad principal es: combinar datos 3D preconstruidos y de alta precisión, a través de tecnología avanzada de posicionamiento visual, para lograr un posicionamiento persistente a escala de ciudad y con precisión de cm. Utiliza los datos de pose 6DoF subyacentes proporcionados por ARKit/ARCore para implementar un seguimiento de movimiento fusionado.
- Mega no reemplaza a ARKit/ARCore. Más bien, los utiliza para obtener los datos iniciales de movimiento del dispositivo en el mundo físico, y luego, al emparejarlos con el mapa de Mega, "ancla" estos datos a un sistema de coordenadas unificado y de alta precisión.
Comparación funcional y ventajas de Mega
ARKit/ARCore también ofrecen cierta capacidad de reconocimiento y posicionamiento espacial, como ARWorldMap de ARKit y Cloud Anchors/Geospatial API de ARCore. Estas funcionalidades tienen cierta similitud con la capacidad de posicionamiento en espacios ultra grandes que ofrece Mega, pero también tienen diferencias fundamentales. A continuación se muestra una comparación técnica detallada entre ambos.
| Funcionalidad | ARWorldMap | Cloud Anchors/Geospatial API | EasyAR Mega |
|---|---|---|---|
| Alcance de posicionamiento | Puede escanear y posicionar el entorno circundante | Puede escanear y posicionar el entorno circundante | Puede escanear y posicionar entornos espaciales a escala de ciudad |
| Características de posicionamiento | Puede manejar cambios ambientales | Puede manejar cambios ambientales | Puede manejar cambios ambientales, variaciones día/noche |
| Construcción del mapa | Capturado y construido en el dispositivo, compartido a través de LAN | Capturado y construido en el dispositivo, compartido a través de puntos finales en la nube de Google | Capturado por dispositivos especializados y construido en la nube, compartido en cualquier dispositivo cliente a través de servicios de posicionamiento en la nube |
| Oclusión virtual-real | Logra oclusión geométrica a través de mallas (Mesh) escaneadas por LiDAR | Logra oclusión basada en profundidad a través de Depth API | Proporciona modelos 3D ricos en detalles con LOD, logrando una oclusión geométrica precisa |
| Experiencia multiplataforma | Solo admite compartir y experimentar entre dispositivos iOS | Permite compartir y experimentar entre dispositivos Android e iOS a través de puntos finales en la nube de Google | Permite compartir y experimentar entre casi todos los dispositivos (Android, iOS, auriculares XR) a través de un servicio de posicionamiento en la nube unificado |
| Dependencia técnica | Solo funciona en dispositivos con ARKit, algunas características tienen requisitos de hardware o software adicionales (por ejemplo, LiDAR) | Funciona en dispositivos con ARKit o ARCore | Amplia compatibilidad con varios dispositivos, no requiere obligatoriamente que el dispositivo tenga ARKit o ARCore |
Uso simultáneo con ARKit/ARCore
Al integrar EasyAR Mega, generalmente no es necesario invocar directamente las interfaces de ARKit o ARCore. Este es un concepto muy importante:
- La aplicación Mega obtendrá automáticamente el flujo de datos 6DoF disponible de ARKit/ARCore según el dispositivo terminal en el que se ejecute.
- Solo necesita utilizar la API unificada
MegaTrackerpara gestionar los servicios de posicionamiento y obtener los datos de pose. Internamente, fusionará y calculará automáticamente los datos brutos de ARKit/ARCore, proporcionándole finalmente un resultado de posicionamiento espacial unificado, de alta precisión y con seguimiento continuo. - Este diseño simplifica enormemente el flujo de desarrollo. No es necesario escribir y mantener dos conjuntos de código para diferentes plataformas, ni profundizar en las complejas API de ARKit/ARCore. Solo necesita centrarse en utilizar las funcionalidades de EasyAR Mega para construir su lógica de aplicación.
Consejo
Excepción: Si desea utilizar ciertas funcionalidades específicas de ARKit/ARCore (por ejemplo, People Occlusion de ARKit) mientras utiliza el posicionamiento de Mega, es posible que necesite realizar llamadas mixtas a las API nativas en su aplicación.
EasyAR Mega no compite ni reemplaza a ARKit/ARCore, sino que se complementa y sinergiza con ellos. ARKit/ARCore resuelven el problema de "cómo se mueve el dispositivo en el entorno", mientras que EasyAR Mega resuelve el problema de "cómo se posicionan con precisión todos los dispositivos en el mismo espacio enorme". Al combinar ambos, puede construir aplicaciones de AR sin precedentes, con capacidades de posicionamiento persistente y compartido a gran escala en el espacio.