見出し画像

【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」ボタンをクリックします。

画像1

これで、ターゲットを登録するためのデータベースが作成されました。


(2) マーカーの作成

リストの中から、作成したデータベースをクリックして以下の画面を開きます。

画像2

「Add Target」ボタンをクリックすると以下のウィンドウが開くので、必要項目を設定し、「Add」をクリックします。

・Type「Single Image」を選択
・File:別に用意した画像ファイルを指定
・Width:マーカーのUnity上でのサイズ(m単位)を指定(適当でもよい)
・Name:Vuforia上でのマーカーの管理名を指定

画像4

画像は何でもよいです。今回は建築の配置図を模したこのような画像を用意しました。

画像4


(3) Unity用パッケージのダウンロード

マーカーが追加されたのを確認して、「Download Database (All)」をクリックします。

画像5

「Unity Editor」をチェックして「Download」をクリックすると、Unityパッケージがダウンロードされます。後で使うので保管しておきます。

画像6


4. Vuforia キーコードの取得

「License Manager」に切り替え、「Get Development Key」をクリックします。

画像7

「License Name」欄に適当な名前を入力し、チェックを入れて「Confirm」をクリックします。

画像8

追加したものをリストから選んでクリックすると、キーコードが表示されます(グレーの部分)。後でコピーして貼り付けるので、ウィンドウをそのままにしておくか、メモ帳などにとりあえず貼り付けておきます。


5. Unityプロジェクトの編集

最初に作成したUnityプロジェクトに戻ります。

まず、ヒエラルキーウィンドウに最初から入っている「Main Camera」は削除しておきます。

また、[ファイル]メニューの[ビルド設定]で、ターゲットをAndroidに変更(選択して「Switch Platform」をクリック)しておきます。

画像9


(1) パッケージのインポート

[アセット]メニュー[パッケージをインポート]-[カスタムパッケージ]を開き、先ほど3.でダウンロードしたVuforiaのパッケージをインポートします。

画像10

プロジェクトエクスプローラの「Assets」-「Editor」-「Vuforia」-「ImageTargetTextures」フォルダに、先ほど登録した画像マーカーが含まれているのを確認します。

画像11


(2) Vuforiaの有効化

[ウィンドウ]メニュー[Package Manager]から、「Vuforia Engine AR」を探してインストール(「install」をクリック)します。

画像12


Unityの以前のバージョンでは、Project Settings(プロジェクト設定)の「Player」にある「XR設定」の項目に、Vuforia有効化のチェックがあります。


(3) Vuforia用カメラの配置

[ゲームオブジェクト]メニュー[Vuforia Engine]から、「AR Camera」を選択して配置します。カメラの位置や向きはそのままでかまいません。

ヒエラルキーウィンドウに新しくできた「ARCamera」を選択し、インスペクター「Vuforia Behaviour」にある「Open Vuforia Engine configuration」をクリックします。

画像13

インスペクターの「App License Key」の欄に、先ほど4.で作成したVuforiaのキーコードを入力します。

画像14


(4) マーカーの配置

[ゲームオブジェクト]メニュー[Vuforia Engine]から、「画像」を選択して配置します。

ヒエラルキーウィンドウに追加された「ImageTarget」を選択し、インスペクターのImage Target BehaviourにあるDatabaseとImage Targetが、Vuforiaで設定した通りになっていることを確認します。

画像15


(5) 表示するモデルの作成

マーカーに重ねて表示したい3Dモデルを作成します。マーカーと図形は、Unity上で配置した通りの位置関係になります。

ここでは[ゲームオブジェクト]メニューの[3D]から、基本的な形状を配置・変形して建物モデルを作成しました。

作成したモデルは、ヒエラルキーウィンドウ上で「ImageTarget」にドラッグし、親子化しておきます。

画像16


(6) ビルドとインストール

[ファイル]メニュー[ビルド設定]を開き、ビルドを実行します。名前を付けて.apkファイルを保存します。

画像17

書き出されたapkファイルをクラウドストレージなどを使ってAndroid端末から開き、インストールします。必要であればカメラの使用等を許可します。


6. 動作確認

アプリが起動したら、画像マーカーを画面に映し出し(印刷したものでも構いません)、カメラを向けてみてください。このように3Dモデルが重なって表示されば成功です。

画像18

画像19


7. 参考


この記事が気に入ったらサポートをしてみませんか?