本日は Unity の技術調査枠です。
UnityでVuforiaのマーカートラッキングを利用する手順を記事にします。
本記事は Unity 2018.4 での実施手順になります。
Vuforiaモジュール(SDK)のインストール
Unity のインストールで以下のモジュールを追加することで、Vuforia の機能を利用できます。
・Vuforia Augmented Reality Support
Unity を Unity Hub でインストールしている場合、インストールタブの[モジュールを加える]から追加することも可能です。
プロジェクトへのコンポーネント設定
Vuforia を利用する Unity プロジェクトを開きます。
モジュールをインストールしていると、メニューから Assets -> Vuforia Engine -> AR Camera が選択できます。
Assets をインポートする旨のダイアログが表示されます。
[Import]をクリックします。
インポートが完了すると、Hierarchy に ARCameara オブジェクトが追加されました。
プロジェクトの設定
プロジェクト設定で Vuforia のサポートを有効にします。
メニューから Edit -> ProjectSettings を開きます。
PlayerSettings の[XR Settings]を開き、[Vuforia Augmented Reality Supports]にチェックを入れます。
これで ARCamera オブジェクトの VuforiaBehaviour コンポーネントの設定を操作できるようになります。
ライセンスキーとARマーカーパッケージの取得
ライセンスキーとARマーカーパッケージの取得方法は以下の記事の手順と同様です。
bluebirdofoz.hatenablog.com
ライセンスキーの登録
ARCamera オブジェクトの Inspector ビューから[Open Vuforia Engine configuration]をクリックして開きます。
[App License Key]の項目にライセンスキーを入力します。
これでライセンスキーの登録は完了です。
ARマーカーパッケージのインポート
ダウンロードしたARマーカーパッケージをプロジェクトにインポートします。
Imageオブジェクトの配置
ARマーカーをトラッキングするため、Image オブジェクトを配置します。
Hierarchy に ImageTarget オブジェクトが追加されます。
Inspector ビューを開き、[Image Target Behaviour]コンポーネントの[Database]と[Image Target]に先ほどインポートしたARマーカーを設定します。
プロジェクトの動作確認
トラッキングの確認を行うため、ImageTarget の子オブジェクトとして Cube オブジェクトを設定します。
Cube の大きさと配置は任意に調節します。
プロジェクトを再生します。
カメラ映像のARマーカーに追従する形で Cube オブジェクトが表示されれば成功です。
ポジショントラッキングの利用
Vuforia ではARマーカーを見失った後もカメラの情報からポジショントラッキングを行うことが可能です。
ARCamera オブジェクトの Inspector ビューから[Open Vuforia Engine configuration]をクリックして開きます。
[Device Tracker]の欄を開き、[Tracking mode]項目にチェックを入れます。
[Tracking mode]の項目が表示されるので、[POSITIONAL]を選択します。
プロジェクトの動作確認
この状態で再びプロジェクトを再生します。
ARマーカーを検出し Cube オブジェクトが表示された後、ARマーカーを見失う方向にカメラを向けます。
Cube オブジェクトが現実世界の表示位置にとどまり続ければ成功です。