Mega WeChat Mini Program プラグインにおける AR Session の概念とフロー
このドキュメントでは、Mega WeChat Mini Program プラグインにおける AR Session の概念とフローを紹介します。
AR Session とは
Mega WeChat Mini Program プラグインが提供する AR Session は、すべての AR 機能の入口です。実行プロセスと状態を管理し、VisionKit および WeChat が提供するセンサー API からのデータ取得、クラウドローカライゼーションとローカル AR tracker 結果の融合、シーン内のカメラやその他のオブジェクトの移動とレンダリングの駆動などを含みます。
flowchart LR
Pose(VisionKit カメラ pose) -- 毎フレーム同期 --> Session[Session]
Image(このフレームのカメラ pose の計算に使用されたカメラ画像) -. Mega localization 時のみ送信 .-> Session
Sensor(WeChat センサーデータ) -. 非同期 .-> Session
Session -- Transform --> Camera(xr-frame カメラ)
AR Session のフロー
flowchart LR
Start((" "))
End((" "))
Init[Initializing]
Run[Running]
Check{成功?}
Start -->|start を呼び出す| Init
Init --> Check
Check -->|はい| Run
Check -->|いいえ / retry 回数が上限を超過| End
Run -->|stop を呼び出す| End
開始: session 状態は Initializing に変わります。環境チェック、リソース読み込み、WeChat xr-frame の AR システムが準備完了になるまでの待機を含みます。
実行: session 状態は Running に変わります。この段階で、session は毎フレーム tracking 結果を出力し、xr-frame カメラの Transform を更新します。
停止: session 状態は None に変わります。リソースの解放、状態のリセット、MegaTracker の破棄を含みます。
警告
AR 機能は session が正常に開始された後でのみ使用できます。
AR Session の状態:
| 状態 | 説明 |
|---|---|
| None | 初期状態。session は開始されていない、または初期化に失敗しています |
| Initializing | 初期化中 |
| Running | 実行状態。session は開始され、初期化が完了しています |
[任意] WeChat Mini Program プラグイン上の AR Session と Unity 上の AR Session
注記
Unity プロジェクトを移行する開発者のみ対象です。
Mega WeChat Mini Program プラグイン上の AR Session は、Unity 上の AR Session の簡略版です。他のアルゴリズムコンポーネントの同時使用をサポートしていないため、WeChat Mini Program 上の AR Session は事前統合されたデータソースコンポーネントとアルゴリズムコンポーネントを使用します。ユーザーはデータソースを選択したり、アルゴリズムコンポーネントを組み立てたりすることはできません。
さらに、Mega WeChat Mini Program プラグインは Block を target とし、target 中心の center mode を使用する場合のみサポートすると考えることができます。