Table of Contents

MegaTracker の概念とワークフロー

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

始める前に

Mega の概要 で次の内容を理解してください。

  • Mega ローカライズとトラッキングの基本原理。
  • Mega Block とは何か。
  • Mega を統合した後に期待される結果。

Plane AR Tracker とは

xr-frame の Plane AR Tracker は、本質的には VisionKit 6DoF plane 機能 のラッパーです。

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

xr-frame は 3D レンダリング機能を提供し、VisionKit は現実空間座標系におけるモーショントラッキング機能を提供します。

Plane AR Tracker は他の AR トラッカーと併用できません。

MegaTracker とは

MegaTracker は、WeChat AR システム(VisionKit)と Mega 空間コンピューティングサービスを接続する中核アルゴリズムコンポーネントであり、クラウドローカライズ機能を提供します。

  • 入力: VisionKit が各フレームで計算したVisionKit 座標系におけるカメラ姿勢(つまり 6DoF データ)と、Mega ローカライズを行うフレームのカメラ画像

  • 出力: 現在ローカライズおよびトラッキングされている Mega Block 配下のカメラ姿勢。

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

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 のカメラコンポーネントはPlane AR Tracker の結果によって毎フレーム直接更新されます。
  • Mega ミニプログラムが提供するデータフローでは、VisionKit 座標系におけるカメラ姿勢(つまり 6DoF データ)とローカライズフレームの画像データが MegaTracker に入力されます。クラウドローカライズとローカル計算の後、現在ローカライズおよびトラッキングされている Mega Block 配下のカメラ姿勢が出力され、最終的に xr-frame シーン内の Mega Block ノード配下にあるカメラの LocalTransform が更新されます。この時点で MegaTracker がカメラの制御を引き継ぎ、xr-frame は AR トラッカーに基づいてカメラを更新することはなくなります

MegaTracker の動作は、plane tracker が提供する 6DoF モーションデータに深く依存しています。そのため、plane tracker が初期化を完了し、安定したトラッキング状態を確立するまでは、MegaTracker は動作に介入できません。また、AR トラッキングの安定性は環境特徴に制限されます。広い無テクスチャ領域(白い壁など)やカメラの長時間遮蔽といった極端なシナリオでは、WeChat 下位層の plane tracking がドリフトまたはロストすると、MegaTracker も信頼できる入力源を失うため、同時に失敗状態に入ります。

次のステップ