Table of Contents

Mega 与 ARKit/ARCore 功能对比

EasyAR Mega 与 Apple 的 ARKit 和 Google 的 ARCore 既有联系又有区别。理解它们之间的关系和各自的优势,对于开发者掌握 Mega 的运作机制至关重要。简单来说,Mega 可以充分利用 ARKit/ARCore 的运动跟踪能力,同时又扩展了 ARKit/ARCore 所无法满足的大空间定位需求。

核心关系

  • ARKit/ARCore (基础层)

    • 它们是设备操作系统(iOS/Android)提供的 AR 开发框架
    • 核心职责是:设备级的环境感知与跟踪。例如,利用设备摄像头和 IMU 实现 即时定位与地图构建 (SLAM)、平面检测、光照估计、图像/物体识别等。
    • 它们为上层应用提供了一个稳定的、低延迟的 6DoF 位姿数据流。
  • EasyAR Mega (应用/平台层)

    • 它是一个 超大空间计算平台
    • 核心职责是:结合预先构建的、高精度的三维数据,通过先进的视觉定位技术,实现 城市尺度厘米级 的持久化定位。利用 ARKit/ARCore 提供的底层 6DoF 数据实现融合运动跟踪。
    • Mega 并不替代 ARKit/ARCore。而是利用它们来获取设备在物理世界中的初始运动数据,然后通过与 Mega 地图的匹配,将这个数据“锚定”到一个统一的、高精度的坐标系中。

功能对比与 Mega 的优势

ARKit/ARCore 中也提供了一定的空间识别定位能力,如 ARKit 的 ARWorldMap、ARCore 的 Cloud Anchors/Geospatial API。这些功能与 Mega 提供的超大空间定位能力有一定相似性,但又有根本区别。以下是两者之间的详细技术对比。

功能特性 ARWorldMap Cloud Anchors/Geospatial API EasyAR Mega
定位范围 可扫描与定位周围环境 可扫描与定位周围环境 可扫描与定位城市级空间环境
定位特点 可应对环境变化 可应对环境变化 可对环境变化、日夜更迭
地图构建 由设备端采集并构建,通过局域网实现共享 由设备端采集并构建,通过托管在 Google 云端端点实现共享 由专用设备采集并在云端构建,通过云定位服务实现任意设备端的共享
虚实遮挡 通过 LiDAR 扫描的 Mesh 实现几何遮挡 通过 Depth API 实现基于深度的遮挡 提供带有 LOD、细节丰富的 3D 模型,实现精确几何遮挡
跨设备体验 仅支持在 iOS 设备间共享与体验 通过 Google 云端端点实现 Android 与 iOS 设备之间的共享与体验 通过统一的云定位服务,实现几乎所有设备( Android、iOS、XR 头显)之间的共享与体验
技术依赖 仅支持在有 ARKit 的设备上运行,部分特性有额外硬件或软件要求(如 LiDAR) 支持在有 ARKit、ARCore 的设备上运行 广泛兼容各种设备,不硬性要求设备具有 ARKit 或 ARCore

与 ARKit/ARCore 同时使用

您在集成 EasyAR Mega 时,通常不需要直接调用 ARKit 或 ARCore 的接口。这是一个非常重要的概念:

  • Mega 应用会根据终端运行的设备自动获取可用的 ARKit/ARCore 的 6DoF 数据流。
  • 您只需要使用统一的 MegaTracker API 来管理定位服务、获取姿态数据。内部会自动将 ARKit/ARCore 的原始数据进行融合计算,最终为您提供一个统一的、高精度的、持续跟踪的空间定位结果。
  • 这种设计极大地简化了开发流程。您无需为不同平台编写和维护两套代码,也无需深入了解 ARKit/ARCore 的复杂 API。您只需要专注于使用 EasyAR Mega 的功能来构建您的应用逻辑。
提示

例外情况:如果您希望在使用 Mega 定位的同时,还利用 ARKit/ARCore 的某些特定功能(例如 ARKit 的 People Occlusion),您可能需要在应用中混合调用原生 API。


EasyAR Mega 并不是与 ARKit/ARCore 相竞争或替代,而是与它们形成互补和协同。ARKit/ARCore 解决了“设备在环境中如何运动”的问题,而 EasyAR Mega 则解决了“所有设备如何在同一个巨大空间中精确定位”的问题。通过将两者结合,您可以构建出前所未有的、具备大规模空间共享和持久化定位能力的 AR 应用。