Vuforia は拡張現実 (AR) と 混合現実 (MR) を開発するためのプラットフォームです。Unity環境にインストールすることができます。
チュートリアル
本記事はネット上のチュートリアル記事(下記URL)を参考にしました。最新バージョンのUnity、Vuforiaに合わせて改変を加えています。動作確認はMacで行っていますがWindowsでもほぼ同じと思われます。

データの準備
カメラ映像の中にマーカー画像を認識したときに3Dモデルを重ねて表示するデモを行います。マーカーとなる画像と、表示する3Dモデルを準備してください。ここでは「ユニティちゃん」のサイトの素材を使いました。このデータはテスト用の利用のみとしてください。外部公開する場合は当該サイトのライセンス条項に従う必要があります。

Vuforiaのアカウント登録
Vuforiaのページ(下のURL)にアクセスして、右上の [Register] からアカウント登録します。登録したアドレスにメールが届くので認証が必要です。無料で登録できます。
Vuforia Engineのダウンロード
Vuforiaのページの上の方 [Downloads] の中から [Add Vuforia Engine to a Unity Project or upgrade to the latest version] と書かれたリンクから “add-vuforia-package-X-X-X.unitypackage” というファイルをダウンロードします。ファイル名はバージョンにより異なるかもしれません。
Development Keyの登録
ここから後はVuforiaのページにログインした状態で進めてください。ページの上の方 [Develop] を押して、[License Manager] タブの中の [Get Development Key] を押します。
License name は何でも構いませんが、Unityのプロジェクト名に関連付けておくのが良いでしょう。Agreementに同意するチェックをオンして、[Confirm] ボタンを押します。
License Managerのページに作成したキーがリスト表示されます。ちなみに、開発段階では無償でVuforiaを使えますが、開発したものをデプロイするには有償のライセンスが必要です。テストだけなら無償です。
Targetの登録
License Managerの隣りにある [Target Manager] のタブで、[Add Database] のボタンを押します。Database Nameは適当でかまいませんが、これもUnityのプロジェクト名に関連付けた名前が良さそうです。[Device] を選択して [Create] ボタンを押します。
Target Managerの画面に、作成したデータベースがリスト表示されます。次はデータベースにマーカー画像を登録します。
リストの中のデータベース名をクリックして、さらに [Add Target] をクリックします。次のようにTargetの登録画面になりますので、Typeは [Sigle Image](画像のことです)、ファイルは準備したマーカー画像を指定、Widthは仮に “100”(Widthの値が動作にどのように影響するのか、詳細は調査できていません)、Nameはデータベース内で重複しない名前にして [Add] ボタンで追加します。
登録したターゲット(マーカー画像)がリスト表示されます。[Rating] の項目に「★」マークが表示されますが、これはマーカー画像の認識しやすさを示します。
登録したTargetにチェックを付けて(複数登録した場合は必要なもの)、[Download Database (All)] ボタンを押し、[Unity Editor] を指定してダウンロードしてください。Targetがパッケージ化されて、〜.unitypackageの形式でダウンロードされます。
Unityに実装する
Unityでテスト用のプロジェクトを作ります。プロジェクトのテンプレートは「3D」を選択しておきます。プロジェクトが起動したら以下の手順に従ってください。
- [Assets] > [Impart Package] > [Custom Package…] でVuforia Engine(”add-vuforia-package-X-X-X.unitypackage” のファイル)をインポートします。Updateするかどうか聞かれるかもしれませんが、してもしなくても構いません。
- データベースのパッケージ(マーカー画像を登録して〜.unitypackageの形式でダウンロードしたもの)も同様にインポートします。
- Hierarchy内にあるMain Cameraを右クリックして削除します。その代わりに、[Game Object] > [Vuforia Engine] > [AR Camera] をクリックするとHierarchyに ARCamera が追加されます。
- AR Cameraをクリックして、Inspectorの中の “Open Vuforia Engin configuration” をクリックします。出てきた画面で [Add License] ボタンを押すとブラウザでVuforiaのLicense Managerの画面が開くので、使用するライセンスキーのエントリーをクリックします。表示されたライセンスキーをコピーしてください。
先程のInspector画面の [App License Key] にそのライセンスキーをペーストします。
- [Game Object] > [Vuforia Engine] > [Image Target] を追加します。Hierarchyの ImageTarget を選択した状態で、Inspectorの中の [Image Target Behaviour] の [Image] の隣に表示される [Select] と表示された部分をクリックすると画像の一覧が表示されます。ここで対象とするマーカー画像を選択する。
- 表示する3Dモデルをインポートする。今回はユニティちゃんの3Dモデルデータ(〜.unitypackage形式)を使っていますので、[Assets] > [Impart Package] > [Custom Package…] から読み込みます。Assetsのペインに “UnityChan” のフォルダができるので、その中から表示するモデルを選択し、HierarchyペインにDrag&Dropします。このとき、ImageTargetの子オブジェクトとして配置してください。
- 以上で設定は完了ですが、実行すると次のようなエラーが発生するかもしれません。
その場合は、コンソールにはこのようなエラーが出ているはずです。
もし同じ症状であれば、[Edit] > [Project Settings…] > [Player] > [Other Settings] > [API Compatibility Level] を “.NET 4.x” にするとエラーは消えるはずです。
実行
マーカー画像を紙に印刷したものを準備して、Unityを実行してください。カメラに印刷物をかざして、次のように動けば成功です。
Tips
ここまででVuforiaの基本機能は確認できました。以降は細々としたノウハウを書いておきます。
3Dモデルのサイズ調整
表示された3Dモデルが大きすぎたり小さすぎる場合は、HierarchyペインでImage Targetの下に配置したモデルを選択し、Inspectorの [Transform] > [Scale] の値を調節してください。
コメント