ネットコードで画像追跡コロカライゼーションを使用する方法
コロカライゼーションとは、共有ARセッションで複数のプレイヤーが同じ仮想オブジェクトを見ることを可能にするプロセスである。 画像トラッキング・コローカライゼーションを使えば、VPS-Activated Locationを使わなくても、画像を起点として共有AR体験をトリガーすることができます。 イメージトラッキングを使えば、印刷したイメージを持ち運び、アプリケーションをテストしたい場所に配置することができます。
Image Tracking Colocalizationは、スクリーン上の画像を使ったローカライズはサポートしていません。 プリントアウトするか、そうでなければ現実の世界で見つける必要がある。
前提条件
- ARDKをインストールしたUnityプロジェクトと、基本的なARシーンが必要です。 詳しくは、Lightship ARDKのセットアップと ARシーンのセットアップを参照してください。
- ARシーンにはARLocationも必要です。 追加方法については、位置情報ARを使用してコンテンツを実際の場所に配置する方法を参照してください。
- ARシーンにはShared ARとNetcodeも必要です。 Image Tracking Colocalizationを使用するには、
SharedSpaceManagerの
Colocalization Typeが Image Colocalizationに設定されていることを確認してください。
画像トラッキングの設定
共有ARプロジェクトに参照画像を追加することで、画像追跡コロカライゼーションのためのスクリプトでその画像をターゲットにすることができます。
プロジェクトにイメージトラッキングを追加するには
-
階層で、
NetworkDemoManager の
名前をImageColocalizationDemoManager
に変更する。 -
共有ARルームに関連付ける画像を選択します。
-
階層で、
ImageColocalizationDemoManager
を選択し、インスペクタで、Target ImageとTarget Image Sizeプロパティを、選択した画像に合わせて設定します。 -
ImageColocalizationDemoManagerの
スクリプトファイルを開き、次のコード・スニペットを追加して、ローカライズ画像への参照を作成します:[SerializeField]
private Texture2D _targetImage;
[SerializeField]
private float _targetImageSize; -
ローカライズに使用したい画像をプリントアウトする。 画像のサイズは、
ImageColocalizationDemoManagerで
設定したターゲット画像サイズと一致させる必要があります。 -
ImageColocalizationDemoManager
スクリプトのStart()
関数の内容を以下のコード・スニペットで置き換える:var imageTrackingOptions = ISharedSpaceTrackingOptions.CreateImageTrackingOptions(
_targetImage, _targetImageSize);
var roomOptions = ISharedSpaceRoomOptions.CreateLightshipRoomOptions(
"ImageTrackingDemoRoom",
32, // 最大収容人数
"image tracking colocalization demo"
);
_sharedSpaceManager.StartSharedSpace(imageTrackingOptions, roomOptions);
これが終われば、プロジェクトはイメージトラッキングを使ったコロカライズの準備が整うはずだ。 デバイスにビルドし、アプリケーションを実行してテストする。
画像トラッキングのためのテストのヒント
- イメージトラッキングをテストするには、ローカライズイメージの印刷物が必要です。 印刷したターゲット画像を平らな面に置き、デバイスのカメラを画像に向けてコロカライズする。 イメージのトラッキングが完了すると、Join As HostとJoin As Clientボタンが表示されます。
- 一度ローカライズしたら、画像を画面に表示し続ける必要はありません。 体験中に物体が漂い始めたら、もう一度カメラを画像に向けて原点をリセットする。
- プロジェクトのために部屋を作るとき、各部屋がセッションごとにユニークな名前を持っていることを確認してください。 これにより、プレイヤーは別々の共有ARルームで複数の体験を同時に行うことができます。 このため、Shared AR Image TrackingのサンプルではPINを使用している。
次のステップ
マルチプレイヤーエクスペリエンスに共有バーチャルオブジェクトを追加する方法については、共有オブジェクトを表示する方法を参照してください。
共有ARの一般的な問題とデバッグの提案については、共有ARのデバッグとトラブルシューティングの方法を参照してください。