Mega Go トラッキングターゲットの追加
本文では、Mega Go のトラッキングターゲットを追加および構成する方法について説明します。
開始する前に
- 私の位置特定機能は使用できますか? を確認し、正しいマップがダウンロードされていることを確認してください。
- 最新バージョンの EasyAR プラグインをインポートし、Mega Go 機能を有効にする
- Unity AR のトラッキングターゲット の基本概念と使用方法を理解する
注記
以下の内容とツールは、EasyAR Mega Go を使用して Unity アプリケーションを開発するプロセスにのみ適用されます。プラグインのバージョンは >= 4003.1 が必要です。
Mega Go は小程序開発をサポートしていません。
本文の内容では、プロジェクトに次の Unity パッケージがインポートされている必要があります。
com.easyar.sense
Mega Go のトラッキングターゲット
Mega Go のトラッキングターゲットは、MegaGoBlockController コンポーネントを含む空のオブジェクトで、Unity では block を表します。

注記
com.easyar.mega パッケージをインポートしていない場合、block のエディタ機能は使用できませんが、実行時のトラッキング効果と機能には影響しません。
トラッキングターゲットの作成
Hierarchy ビューの 空白 部分を右クリックし、メニュー EasyAR Sense > Mega > Target : Mega Go Block を選択すると、Mega のトラッキングターゲットを作成できます。

スクリプトでは、ARSessionFactory.CreateController を使用して作成できます。
ARSessionFactory.CreateController<MegaGoBlockController>();
トラッキングターゲットの構成
target を使用する前に、そのデータソースとトラッカーを構成する必要があります。
target のデータソースを構成する
トラッキングターゲットは、そのソースが正しく構成された後でのみ識別およびトラッキングできます。
Hierarchy ビューで block ノードを選択した後、block の Path Type と Path を入力できます。

スクリプトでは、コンポーネント MonoBehaviour.Start() の前に Source を変更して、block のソースを設定できます。
block.Source = new MegaGoBlockController.FileSourceData(PathType.Absolute, path);
ここで、
- PathType は emg ファイルのパスのタイプで、絶対パス(
Absolute)またはプロジェクトの StreamingAssets パス(StreamingAssets)にすることができます。 - Path は emg ファイルのパスで、PathType が
Absoluteの場合はファイルシステム内の絶対パス、PathType がStreamingAssetsの場合はプロジェクト内の StreamingAssets フォルダー下の相対パスです。
ヒント
emg ファイルは大きい場合があるため、アプリケーションのパッケージサイズが大きくなる場合は、テスト段階でのみ StreamingAssets パスを使用することをお勧めします。正式リリース時には絶対パスを使用し、リソースパッケージまたはその他の方法で emg ファイルをアプリケーションがアクセス可能なファイルシステムのパスに配置してください。
target が使用するトラッカーを構成する
トラッキングターゲットは、構成されたトラッカーによってロードされ、トラッキングされます。
重要
Mega Go のトラッカーは同時に 1 つの block のみをトラッキングできます。複数の block が同じトラッカーに構成されている場合、最後にロードされた block のみが使用されます。
Hierarchy ビューで block ノードを選択した後、session 内の Mega Go Tracker を選択できます。
![]()
スクリプトでは、Tracker を変更して、block のトラッカーを設定できます。
block.Tracker = megaGoTracker;
Tracker は実行時にいつでも変更でき、ロード/アンロードは session の実行中に行われます。Tracker を null に設定すると、該当の target は前に設定されたトラッカーからアンロードされます。
注記
target がトラッキングされるには、いくつかの重要な条件があります。
- 該当の Source に対応する block は使用可能な状態である必要があります(正式データは常にオフラインで使用可能ですが、テストデータはサービスにそのデータが存在する場合にのみ使用可能です)。
- MegaGoBlockController.Source のファイルは正しくロードされている必要があります。
- ファイルがロードされた後、他の block に対応するファイルがロードされていない必要があります。
トラッキングターゲットのライフサイクル
一般的なトラッキングターゲットのライフサイクルは次のとおりです。
flowchart LR
sstart((session 起動))
sstop([session 停止])
start("Target.Start")
load("ロード")
tracking[["継続的なトラッキング"]]
sstart --> load --> tracking --> sstop
start -. "Target.Tracker = tracker" .-> load
このプロセスは大まかに次の段階に分けられます。
- ロード:トラッキングターゲットは、構成されたトラッカーによってロードされます。これは、target 自身の Start() および session の起動後に行われます。
- トラッキングプロセス:トラッキングターゲットが特定された後、トラッカーはターゲットの位置と状態を継続的にトラッキングします。この状態は、ターゲットがアンロードされるか、別のターゲットがロードされるまで続きます。
- アンロード:トラッキングターゲットはトラッカーからアンロードされ、トラッカーはターゲットのトラッキングを停止します。これは、session が停止するか、target がトラッカーを使用しないように設定された後に行われます。
