Table of Contents

Сравнение функций Mega и ARKit/ARCore

EasyAR Mega одновременно связан с ARKit от Apple и ARCore от Google и отличается от них. Понимание их взаимосвязи и преимуществ каждого решения важно для разработчиков, чтобы понять механизм работы Mega. Проще говоря, Mega может полноценно использовать возможности motion tracking ARKit/ARCore и при этом расширяет потребности large-scale spatial localization, которые ARKit/ARCore не могут удовлетворить.

Основная взаимосвязь

  • ARKit/ARCore (базовый уровень):

    • Это AR development frameworks, предоставляемые операционными системами устройств (iOS/Android).
    • Их основная задача — environment perception и tracking на уровне устройства. Например, они используют camera устройства и IMU для реализации simultaneous localization and mapping (SLAM), plane detection, lighting estimation, image/object recognition и т. д.
    • Они предоставляют приложениям верхнего уровня стабильный поток данных 6DoF pose с низкой задержкой.
  • EasyAR Mega (уровень приложения/платформы):

    • Это платформа пространственных вычислений сверхбольшого масштаба.
    • Ее основная задача — объединять заранее построенные высокоточные 3D-данные с передовой технологией visual localization для достижения persistent localization городского масштаба и сантиметрового уровня. Она использует базовые 6DoF-данные, предоставляемые ARKit/ARCore, для fused motion tracking.
    • Mega не заменяет ARKit/ARCore. Вместо этого она использует их для получения начальных данных движения устройства в физическом мире, затем сопоставляет эти данные с картой Mega и "закрепляет" их в единой высокоточной системе координат.

Сравнение функций и преимущества Mega

ARKit/ARCore также предоставляют определенные возможности spatial recognition и localization, например ARWorldMap в ARKit и Cloud Anchors/Geospatial API в ARCore. Эти функции в некоторой степени похожи на возможности ultra-large-scale spatial localization, предоставляемые Mega, но принципиально отличаются. Ниже приведено подробное техническое сравнение.

Функция ARWorldMap Cloud Anchors/Geospatial API EasyAR Mega
Диапазон localization Может сканировать и выполнять localization окружающей среды Может сканировать и выполнять localization окружающей среды Может сканировать и выполнять localization пространственной среды городского масштаба
Особенности localization Может справляться с изменениями среды Может справляться с изменениями среды Может справляться с изменениями среды и сменой дня/ночи
Построение map Данные собираются и строятся на стороне устройства, общий доступ через local area network Данные собираются и строятся на стороне устройства, общий доступ через endpoints, размещенные в Google Cloud Данные собираются специальными устройствами и строятся в cloud, общий доступ для любых устройств через cloud localization services
Virtual-real occlusion Geometric occlusion через Mesh, отсканированный LiDAR Occlusion на основе depth через Depth API Предоставляет детализированные 3D-модели с LOD для точного geometric occlusion
Кросс-устройственный опыт Поддерживает общий доступ и опыт только между устройствами iOS Общий доступ и опыт между Android и iOS через endpoints Google Cloud Общий доступ и опыт почти на всех устройствах (Android, iOS, XR headsets) через единый cloud localization service или on-device deployment
Технические зависимости Работает только на устройствах с ARKit, а некоторые функции требуют дополнительного hardware или software (например, LiDAR) Работает на устройствах с ARKit или ARCore Широко совместима с различными устройствами, без жесткого требования наличия ARKit или ARCore

Одновременное использование с ARKit/ARCore

При интеграции EasyAR Mega вам обычно не нужно напрямую вызывать API ARKit или ARCore. Это очень важная концепция:

  • Приложение Mega автоматически получает доступный поток данных ARKit/ARCore 6DoF в зависимости от устройства, на котором оно работает.
  • Вам нужно только использовать единый API MegaTracker или MegaGoTracker, чтобы управлять localization services и получать pose data. Внутри raw data ARKit/ARCore автоматически объединяются и вычисляются, в итоге предоставляя единый, высокоточный, непрерывно tracking результат spatial localization.
  • Такой дизайн значительно упрощает процесс разработки. Вам не нужно писать и поддерживать два набора кода для разных платформ, а также глубоко разбираться в сложных API ARKit/ARCore. Достаточно сосредоточиться на использовании функций EasyAR Mega для построения логики приложения.
Совет

Исключение: если вы хотите использовать определенные функции ARKit/ARCore одновременно с Mega localization, например People Occlusion в ARKit, вам может потребоваться смешанно вызывать native API в приложении.


EasyAR Mega не конкурирует с ARKit/ARCore и не заменяет их, а дополняет и взаимодействует с ними. ARKit/ARCore решают задачу "как устройство движется в среде", а EasyAR Mega решает задачу "как всем устройствам точно выполнять localization в одном огромном пространстве". Объединив их, вы можете создавать беспрецедентные AR-приложения с возможностями large-scale spatial sharing и persistent localization.