MRが楽しい

MRやVRについて学習したことを書き残す

UnityでVuforiaのマーカートラッキングとポジショントラッキングを利用する

本日は Unity の技術調査枠です。
UnityでVuforiaのマーカートラッキングを利用する手順を記事にします。
f:id:bluebirdofoz:20191113000507j:plain

本記事は Unity 2018.4 での実施手順になります。

Vuforiaモジュール(SDK)のインストール

Unity のインストールで以下のモジュールを追加することで、Vuforia の機能を利用できます。
・Vuforia Augmented Reality Support
f:id:bluebirdofoz:20191113000516j:plain

Unity を Unity Hub でインストールしている場合、インストールタブの[モジュールを加える]から追加することも可能です。
f:id:bluebirdofoz:20191113000526j:plain

プロジェクトへのコンポーネント設定

Vuforia を利用する Unity プロジェクトを開きます。
モジュールをインストールしていると、メニューから Assets -> Vuforia Engine -> AR Camera が選択できます。
f:id:bluebirdofoz:20191113000533j:plain

Assets をインポートする旨のダイアログが表示されます。
[Import]をクリックします。
f:id:bluebirdofoz:20191113000542j:plain

インポートが完了すると、Hierarchy に ARCameara オブジェクトが追加されました。
f:id:bluebirdofoz:20191113000550j:plain

プロジェクトの設定

プロジェクト設定で Vuforia のサポートを有効にします。
メニューから Edit -> ProjectSettings を開きます。
f:id:bluebirdofoz:20191113000602j:plain

PlayerSettings の[XR Settings]を開き、[Vuforia Augmented Reality Supports]にチェックを入れます。
f:id:bluebirdofoz:20191113000611j:plain

これで ARCamera オブジェクトの VuforiaBehaviour コンポーネントの設定を操作できるようになります。
f:id:bluebirdofoz:20191113000622j:plain

ライセンスキーとARマーカーパッケージの取得

ライセンスキーとARマーカーパッケージの取得方法は以下の記事の手順と同様です。
bluebirdofoz.hatenablog.com

ライセンスキーの登録

ARCamera オブジェクトの Inspector ビューから[Open Vuforia Engine configuration]をクリックして開きます。
f:id:bluebirdofoz:20191113000644j:plain

[App License Key]の項目にライセンスキーを入力します。
これでライセンスキーの登録は完了です。
f:id:bluebirdofoz:20191113000656j:plain

ARマーカーパッケージのインポート

ダウンロードしたARマーカーパッケージをプロジェクトにインポートします。
f:id:bluebirdofoz:20191113000706j:plain

Imageオブジェクトの配置

ARマーカーをトラッキングするため、Image オブジェクトを配置します。
f:id:bluebirdofoz:20191113000714j:plain

Hierarchy に ImageTarget オブジェクトが追加されます。
Inspector ビューを開き、[Image Target Behaviour]コンポーネントの[Database]と[Image Target]に先ほどインポートしたARマーカーを設定します。
f:id:bluebirdofoz:20191113000726j:plain

プロジェクトの動作確認

ラッキングの確認を行うため、ImageTarget の子オブジェクトとして Cube オブジェクトを設定します。
Cube の大きさと配置は任意に調節します。
f:id:bluebirdofoz:20191113000740j:plain

プロジェクトを再生します。
カメラ映像のARマーカーに追従する形で Cube オブジェクトが表示されれば成功です。
f:id:bluebirdofoz:20191113000753j:plain

ポジショントラッキングの利用

Vuforia ではARマーカーを見失った後もカメラの情報からポジショントラッキングを行うことが可能です。
ARCamera オブジェクトの Inspector ビューから[Open Vuforia Engine configuration]をクリックして開きます。
f:id:bluebirdofoz:20191113000805j:plain

[Device Tracker]の欄を開き、[Tracking mode]項目にチェックを入れます。
[Tracking mode]の項目が表示されるので、[POSITIONAL]を選択します。
f:id:bluebirdofoz:20191113000815j:plain

プロジェクトの動作確認

この状態で再びプロジェクトを再生します。
ARマーカーを検出し Cube オブジェクトが表示された後、ARマーカーを見失う方向にカメラを向けます。
Cube オブジェクトが現実世界の表示位置にとどまり続ければ成功です。
f:id:bluebirdofoz:20191113000826j:plain