Сравнение возможностей Mega и ARKit/ARCore
EasyAR Mega связан с ARKit от Apple и ARCore от Google, но также имеет отличия. Понимание их взаимосвязи и сильных сторон каждой технологии имеет решающее значение для разработчиков, стремящихся освоить механизмы работы Mega. Проще говоря, Mega может в полной мере использовать возможности отслеживания движения ARKit/ARCore, одновременно расширяя их для удовлетворения потребностей в позиционировании в больших пространствах, которые ARKit/ARCore не могут удовлетворить.
Основные отношения
ARKit/ARCore (Базовый уровень):
- Это фреймворки для разработки AR, предоставляемые операционной системой устройства (iOS/Android).
- Основная задача: восприятие окружения и отслеживание на уровне устройства. Например, использование камеры устройства и IMU для реализации одновременной локализации и построения карты (SLAM), обнаружения плоскостей, оценки освещенности, распознавания изображений/объектов и т.д.
- Они предоставляют приложениям верхнего уровня стабильный поток данных о положении с 6 степенями свободы (6DoF) с низкой задержкой.
EasyAR Mega (Уровень приложения/платформы):
- Это платформа для вычислений в сверхбольших пространствах.
- Основная задача: с использованием предварительно построенных высокоточных 3D данных и передовых технологий визуального позиционирования обеспечить позиционирование в масштабах города с сантиметровой точностью и долговременной стабильностью. Использует базовые данные 6DoF от ARKit/ARCore для реализации отслеживания движения с сенсорным слиянием.
- Mega не заменяет ARKit/ARCore. Она использует их для получения исходных данных о движении устройства в физическом мире, а затем, сопоставляя эти данные с картой Mega, «привязывает» их к единой системе координат с высокой точностью.
Сравнение функций и превосходство Mega
ARKit/ARCore также предоставляют определенные возможности распознавания пространства и позиционирования, такие как ARWorldMap в ARKit или Cloud Anchors/Geospatial API в ARCore. Эти функции имеют некоторое сходство с возможностями Mega по позиционированию в сверхбольших пространствах, но также имеют фундаментальные отличия. Ниже приведено детальное техническое сравнение.
| Функциональность | ARWorldMap | Cloud Anchors/Geospatial API | EasyAR Mega |
|---|---|---|---|
| Масштаб позиционирования | Может сканировать и позиционировать в окружающей среде | Может сканировать и позиционировать в окружающей среде | Может сканировать и позиционировать в городских масштабах |
| Особенности позиционирования | Может адаптироваться к изменениям среды | Может адаптироваться к изменениям среды | Может адаптироваться к изменениям среды, смене дня и ночи |
| Построение карты | Собирается и строится на устройстве, совместное использование через локальную сеть | Собирается и строится на устройстве, совместное использование через точки доступа Google Cloud | Собирается специализированными устройствами и строится в облаке, совместное использование на любых устройствах через сервис облачного позиционирования |
| Окклюзия AR/VR | Геометрическая окклюзия через Mesh, полученный сканированием LiDAR | Окклюзия на основе глубины через Depth API | Предоставление детализированных 3D-моделей с LOD для точной геометрической окклюзии |
| Кросс-платформенный опыт | Поддержка совместного использования и взаимодействия только между устройствами iOS | Совместное использование и взаимодействие между устройствами Android и iOS через точки доступа Google Cloud | Совместное использование и взаимодействие между практически любыми устройствами (Android, iOS, XR-гарнитуры) через единый сервис облачного позиционирования |
| Технологические зависимости | Работает только на устройствах с поддержкой ARKit, некоторые функции требуют дополнительного оборудования или ПО (например, LiDAR) | Работает на устройствах с поддержкой ARKit или ARCore | Широкая совместимость с различными устройствами, не требует обязательного наличия ARKit или ARCore |
Одновременное использование с ARKit/ARCore
При интеграции EasyAR Mega вам обычно не нужно напрямую вызывать API ARKit или ARCore. Это очень важная концепция:
- Приложение Mega автоматически получает доступный поток данных 6DoF от ARKit или ARCore в зависимости от устройства, на котором оно запущено.
- Вам нужно использовать только унифицированный API
MegaTrackerдля управления сервисом позиционирования и получения данных о положении. Внутри системы исходные данные от ARKit/ARCore автоматически объединяются в вычислениях, чтобы в итоге предоставить вам единый результат пространственного позиционирования с высокой точностью и непрерывным отслеживанием. - Такой подход значительно упрощает процесс разработки. Вам не нужно писать и поддерживать два набора кода для разных платформ или глубоко разбираться в сложных API ARKit/ARCore. Вы можете сосредоточиться на использовании функций EasyAR Mega для построения логики вашего приложения.
Совет
Исключение: Если вы хотите одновременно с позиционированием Mega использовать определенные функции ARKit/ARCore (например, People Occlusion в ARKit), вам, возможно, потребуется использовать смешанный вызов нативных API в приложении.
EasyAR Mega не конкурирует с ARKit/ARCore и не заменяет их, а дополняет и работает с ними в синергии. ARKit/ARCore решают вопрос: «Как устройство движется в среде?», тогда как EasyAR Mega решает вопрос: «Как все устройства точно позиционируются в одном огромном пространстве?». Объединяя обе технологии, вы можете создавать невиданные ранее AR-приложения с возможностью массового пространственного взаимодействия и долговременного точного позиционирования.