公式マニュアルはこちら。
Area Targets in Unity
ここにまとめたものはiOS用のUnity設定手順です。
HoloLens+Matterportを用いたセットアップはこちらが参考になります。
- Unity 2019.2以上でプロジェクトを作成する
- Vuforia Engine Packageを用意する
https://developer.vuforia.com/downloads/sdk からDL
- DLした add-vuforia-package-*-*-*.unitypackage をUnityへインポートする
- シーン内のメインカメラを削除し、メニュー > Vuforia Engine > AR Camera で専用のARカメラを作成する
- Vuforiaのサイトへアクセスしライセンスキーをコピーする
- VuforiaConfigurationのライセンス欄にライセンスキーをペーストし、その下にあるデバイストラッカーを有効にする。
- Area Target用のコンポーネントを作成する
GameObject > Vuforia Engine > Area Target で作成される
- 事前に作成しておいたArea TargetデータをUnityへインポートする
このデータはMatterportまたはiOSのVuforia Area Target Creatorアプリで作成(空間をスキャン)する。
iOSアプリでスキャンしたデータの取り出し方は後述。 - インポートしたAreaTargetデータを手順7で作成したAreaTargetオブジェクトのAreaTargetBehaviourに設定する
- ProjectSettingsでiOSのバージョンを11.0以降に設定し、Camera Usage Descriptionにメッセージを1文字以上設定するCamera Usageが空だとiOSデバイスにビルドしてもアプリがクラッシュし起動出来ません。
以上の設定が出来たら、お好みでシーンを作成し→iOS用にビルド→XCodeでビルドの通常の流れで完了です。
iOS用 Vuforia Area Target Creator の注意点
デバイスのメモリ不足によりあまり大きなシーンはスキャンが行えませんでした。
5分以内でスキャンを完了させるのが目安のようです。
iOS用 Vuforia Area Target Creatorでスキャンしたデータの場所
スキャンしたデータはアプリ上から取り出すことは出来ないようです。→できました。アプリのスキャン一覧から該当のデータを左にスワイプすると共有ボタンが現れるので、ここから「ファイル」アプリに送ることができます。
アプリから直に取り出さない場合は以下の方法でも取り出せます。
iOSデバイスをPCに繋ぎ、iTunesを用いて取り出します。
Vuforia Area Target の注意点
スキャン時と現場の状況が変わると正しく認識出来ません。
写真は屋外でテストした例ですが、曇天時にスキャンを行っていたため日が差し道路に木の陰が落ちると認識出来なくなりました。
その後日が傾いてから(木の影がなくなってから)リトライしたところ問題なく認識されました。
認識が外れている (オレンジ色)
認識出来ている (白)
作ってみた
近所の公園にARサーキット作ってみた。
自転車でレース。
iPhoneのLiDARでスキャンしたデータ使って道路を認識、ARの自動位置合わせ。 pic.twitter.com/iQidotX4Yd
— 龍 lilea (@lileaLab) January 2, 2021