【Unity】Vuforiaを使ったAR(画像マーカー式)の作り方
VuforiaはAR開発用ライブラリの一つで、ARCoreに対応していないAndroid端末でもAR機能を使うことができます。新しいバージョンのUnityには機能の一部として組み込まれていて、ユーザー登録することで、画像マーカーの機能なども気軽に利用することができます。
ここでは建築プレゼン用途を想定して、Android端末上で、配置図をイメージした画像の上に立体形状を重ねる機能を作ってみます。
1. Unityの準備
ここではUnityのバージョン2019.3.12f1を使った場合の説明をします。
「3D」テンプレートから新しいプロジェクトを作成します。
Unityのインストールから、空の新規プロジェクトを作成するところまでの説明は、この記事を参考にしてください。
2. Vuforiaの準備
Vuforiaのページにアクセスし、アカウントがまだなければ「Register」から登録します。アカウントを持っていればログインします。Vuforiaは基本的に無料で使うことができます。
ちなみに全て英語です。
3. Vuforia 画像マーカー(ターゲット)の登録
(1) データベースの作成
「Develop」ページを開き「Target Manager」を選んで、「Add Database」ボタンをクリックします。
適当な名前を入力し、「Device」をチェックして「Create」ボタンをクリックします。
これで、ターゲットを登録するためのデータベースが作成されました。
(2) マーカーの作成
リストの中から、作成したデータベースをクリックして以下の画面を開きます。
「Add Target」ボタンをクリックすると以下のウィンドウが開くので、必要項目を設定し、「Add」をクリックします。
・Type:「Single Image」を選択
・File:別に用意した画像ファイルを指定
・Width:マーカーのUnity上でのサイズ(m単位)を指定(適当でもよい)
・Name:Vuforia上でのマーカーの管理名を指定
画像は何でもよいです。今回は建築の配置図を模したこのような画像を用意しました。
(3) Unity用パッケージのダウンロード
マーカーが追加されたのを確認して、「Download Database (All)」をクリックします。
「Unity Editor」をチェックして「Download」をクリックすると、Unityパッケージがダウンロードされます。後で使うので保管しておきます。
4. Vuforia キーコードの取得
「License Manager」に切り替え、「Get Development Key」をクリックします。
「License Name」欄に適当な名前を入力し、チェックを入れて「Confirm」をクリックします。
追加したものをリストから選んでクリックすると、キーコードが表示されます(グレーの部分)。後でコピーして貼り付けるので、ウィンドウをそのままにしておくか、メモ帳などにとりあえず貼り付けておきます。
5. Unityプロジェクトの編集
最初に作成したUnityプロジェクトに戻ります。
まず、ヒエラルキーウィンドウに最初から入っている「Main Camera」は削除しておきます。
また、[ファイル]メニューの[ビルド設定]で、ターゲットをAndroidに変更(選択して「Switch Platform」をクリック)しておきます。
(1) パッケージのインポート
[アセット]メニューの[パッケージをインポート]-[カスタムパッケージ]を開き、先ほど3.でダウンロードしたVuforiaのパッケージをインポートします。
プロジェクトエクスプローラの「Assets」-「Editor」-「Vuforia」-「ImageTargetTextures」フォルダに、先ほど登録した画像マーカーが含まれているのを確認します。
(2) Vuforiaの有効化
[ウィンドウ]メニューの[Package Manager]から、「Vuforia Engine AR」を探してインストール(「install」をクリック)します。
注
Unityの以前のバージョンでは、Project Settings(プロジェクト設定)の「Player」にある「XR設定」の項目に、Vuforia有効化のチェックがあります。
(3) Vuforia用カメラの配置
[ゲームオブジェクト]メニューの[Vuforia Engine]から、「AR Camera」を選択して配置します。カメラの位置や向きはそのままでかまいません。
ヒエラルキーウィンドウに新しくできた「ARCamera」を選択し、インスペクターの「Vuforia Behaviour」にある「Open Vuforia Engine configuration」をクリックします。
インスペクターの「App License Key」の欄に、先ほど4.で作成したVuforiaのキーコードを入力します。
(4) マーカーの配置
[ゲームオブジェクト]メニューの[Vuforia Engine]から、「画像」を選択して配置します。
ヒエラルキーウィンドウに追加された「ImageTarget」を選択し、インスペクターのImage Target BehaviourにあるDatabaseとImage Targetが、Vuforiaで設定した通りになっていることを確認します。
(5) 表示するモデルの作成
マーカーに重ねて表示したい3Dモデルを作成します。マーカーと図形は、Unity上で配置した通りの位置関係になります。
ここでは[ゲームオブジェクト]メニューの[3D]から、基本的な形状を配置・変形して建物モデルを作成しました。
作成したモデルは、ヒエラルキーウィンドウ上で「ImageTarget」にドラッグし、親子化しておきます。
(6) ビルドとインストール
[ファイル]メニューの[ビルド設定]を開き、ビルドを実行します。名前を付けて.apkファイルを保存します。
書き出されたapkファイルをクラウドストレージなどを使ってAndroid端末から開き、インストールします。必要であればカメラの使用等を許可します。
6. 動作確認
アプリが起動したら、画像マーカーを画面に映し出し(印刷したものでも構いません)、カメラを向けてみてください。このように3Dモデルが重なって表示されば成功です。
7. 参考
この記事が気に入ったらサポートをしてみませんか?