Mega と ARKit/ARCore の機能比較
EasyAR Mega は Apple の ARKit と Google の ARCore と関連性を持ちながらも違いがあります。それらの関係性と各々の強みを理解することは、開発者が Mega の動作メカニズムを習得するために重要です。端的に言えば、Mega は ARKit/ARCore のモーショントラッキング能力を最大限活用しつつ、ARKit/ARCore では満たせない大規模空間位置特定のニーズを拡張します。
コアな関係性
ARKit/ARCore (基盤層):
- これらはデバイスのオペレーティングシステム (iOS/Android) が提供する AR 開発フレームワークです。
- コアの責務は:デバイスレベルでの環境認識とトラッキングです。例えば、デバイスのカメラと IMU を利用した Simultaneous Localization and Mapping (SLAM)、平面検出、光量推定、画像/物体認識などです。
- これらは上位アプリケーションに対して、安定した低遅延の 6DoF ポーズデータストリームを提供します。
EasyAR Mega (アプリケーション/プラットフォーム層):
- これは 超大規模空間コンピューティングプラットフォームです。
- コアの責務は:事前に構築された高精度の 3D データと組み合わせ、先進的なビジュアル位置特定技術により、都市規模、センチメートル級の永続的な位置特定を実現することです。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 スキャンしたメッシュによる幾何学的オクルージョン | 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 データストリームを自動的に取得します。
- 開発者は統一された
MegaTrackerAPI を使用して位置特定サービスを管理し、ポーズデータを取得するだけで済みます。内部では ARKit/ARCore の生データが融合計算され、最終的に統一された高精度で持続的なトラッキングを伴う空間位置特定結果が提供されます。 - この設計により開発プロセスが大幅に簡素化されます。異なるプラットフォーム向けに二つのコードを記述・保守する必要も、ARKit/ARCore の複雑な API を深く理解する必要もありません。開発者は EasyAR Mega の機能を使用してアプリケーションロジックを構築することに集中できます。
ヒント
例外ケース: Mega 位置特定を利用しながら、ARKit の People Occlusion など ARKit/ARCore の特定機能も併用したい場合は、アプリケーション内でネイティブ API を混合して呼び出す必要があるかもしれません。
EasyAR Mega は ARKit/ARCore と競合したり代替したりするものではなく、それらと補完・協調関係にあります。ARKit/ARCore は「デバイスが環境内でどのように動くか」という問題を解決し、EasyAR Mega は「全てのデバイスが同じ巨大な空間内でいかに正確に位置特定するか」という問題を解決します。両者を組み合わせることで、前例のない、大規模空間共有と永続的位置特定能力を備えた AR アプリケーションを構築できます。