Table of Contents

MegaTrackerの概念とワークフロー

このドキュメントでは、MegaTrackerの基本概念と、MegaTrackerがWeChatネイティブのARシステムVisionKitおよびレンダリングフレームワークxr-frameとどのように連携するかについて説明します。

開始前に

Megaの概要を通じて以下を理解してください:

  • Megaの位置特定と追跡の基本原理
  • Mega Blockとは何か
  • Mega統合後の期待される結果

平面ARトラッカーとは何か

xr-frameの平面ARトラッカーは、本質的にVisionKit 6DoF-平面機能のラッパーです。

xr-frameのカメラコンポーネントでisARCameraを有効にすると、カメラの3D変換はフレームごとにARシステム(VisionKit)と同期されます。

xr-frameが3Dレンダリング機能を提供し、VisionKitが現実空間座標系での運動追跡機能を提供します。

平面ARトラッカーは他のARトラッカーと同時に使用できません。

MegaTrackerとは何か

MegaTrackerは、WeChat ARシステム(VisionKit)とMega空間計算サービスを接続するコアアルゴリズムコンポーネントであり、クラウドベースの位置特定機能を提供します。

  • 入力:各フレームでVisionKitが計算するVisionKit座標系でのカメラ姿勢(6DoFデータ)、およびMega位置特定を実行したフレーム時のカメラ画像
  • 出力:現在位置特定および追跡中のMega Blockにおけるカメラ姿勢

MegaTrackerがxr-frame上でどのように動作するか

flowchart BT
    subgraph Using xr-frame Only
        direction BT
        PlaneARTracker_1[PlaneARTracker] -->|MotionData & Image| XRFrame_1[xr-frame]
    end

    subgraph Using Mega Plugin
        direction BT
        PlaneARTracker_2[PlaneARTracker] -->|MotionData & Image| MegaTracker
        MegaTracker -->|CameraTransform| XRFrame_2[xr-frame]
    end
  • WeChatネイティブのデータフローでは、xr-frameのカメラコンポーネントは平面ARトラッカーの結果によってフレームごとに直接更新されます
  • Megaミニプログラムのデータフローでは、VisionKit座標系でのカメラ姿勢(6DoFデータ)および位置特定フレームの画像データがMegaTrackerに入力されます。クラウド位置特定とローカル計算後、現在位置特定および追跡中のMega Blockでのカメラ姿勢が出力され、最終的にxr-frameシーン内のカメラのMega Blockノード下でのLocalTransformが更新されます。この時点でMegaTrackerがカメラの制御を引き継ぎ、xr-frameはARトラッカーに基づくカメラ更新を行いません

MegaTrackerの動作は、平面トラッカーが提供する6DoF運動データに深く依存しています。したがって、平面トラッカーが初期化を完了し安定した追跡状態を確立するまでは、MegaTrackerは動作を開始できません。さらに、AR追跡の安定性は環境特徴に制限されます。無地の広い領域(白い壁など)や長時間のカメラ遮蔽などの極端なシナリオでは、WeChat基盤の平面追跡がドリフトまたは喪失した場合、MegaTrackerは信頼できる入力源を失い、同期して機能停止状態に陥ります。

次のステップ