LoginSignup
22

More than 5 years have passed since last update.

Unityでお手軽AR開発!vuforiaを使ってみる

Last updated at Posted at 2016-09-30

(2018/06/17追記)
今更ですが、Unity 2017.2 以降Vuforiaが正式にサポートされていますので、合わせて本記事を更新しました。

vuforiaとは?

vuforiaは、Qualcommにより提供されているAR開発をサポートするライブラリです。
Unity, iOS, Android向けに提供されていますが、開発の簡単さからUnityが使われることが多いです。
基本的に無料で利用することができます。

vuforiaをUnityで使用できるようにする

次の手順で準備します。

  1. vuforiaにデベロッパー登録をする
  2. ライセンスキーを登録する
  3. データベースを生成し、ARマーカーの情報を登録する
  4. vuforia SDKと手順3で作成したデータベースのパッケージをダウンロードし、Unityプロジェクトにインポートする

1. vuforiaにデベロッパー登録をする

vuforia Developer Portalにアクセスし、右上のRegisterからアカウント作成を行います。
入力フォームに必要な情報を入力すれば完了です。
vuforia.PNG

2. ライセンスキーを登録する

手順1で作成したアカウントでログインしている状態で「Develop」→「Add License Key」の順にクリックします。
スクリーンショット 2016-09-30 17.05.19.png

まず、vuforiaを使用するアプリケーションが開発・検証用のものか、コンシューマーもしくはエンタープライズ向けのものかの選択をします。ここの選択肢によっては料金が発生します。
試しに使ってみる程度であればDevelopmentを選びましょう。
スクリーンショット 2016-09-30 17.10.37.png

選択した後、開発するアプリケーションの情報を入力すると、License Managerにアプリケーションの情報が追加されます。
スクリーンショット 2016-09-30 17.52.13.png

作成したアプリケーション名のリンクをクリックすると、下の黒く塗りつぶした領域にライセンスキーが表示されます。
このライセンスキーを後にUnityでの開発で使用します。
スクリーンショット 2016-09-30 17.43.07.png

3. データベースを生成し、ARマーカーの情報を登録する

vuforia Developer Portalで「Develop」→「Target Manager」の順にクリックし、Target Managerを開きます。
「Add Database」をクリックします。ここでデータベース名とタイプを入力します。
データベースのタイプは以下の3種類です。試しに使用してみる程度であれば、Deviceを選ぶのをおすすめします。

  • Device: アプリケーションを動かす端末にデータベースを保持します。データベースが大きくなると、アプリケーションの容量も大きくなります。
  • Cloud: Developer Portalのクラウド上にデータベースを保持します。アプリケーションの容量は軽くなりますが、2つ以上のARマーカーを同時に追従することができません。
  • Vumark: 新しいARトラッキングの手法のようです。こちらを参照してください。

データベースを作成したら、次にそのデータベースにARマーカーとして読み込みたいターゲットを準備します。
今回は適当な画像データをターゲットとして読み込みましょう。Single Imageを選択し、ターゲットとする画像ファイルをアップロードします。
Widthは現実世界でのターゲットの大きさを指定するようです。経験上は適当に入れてもなんとかなります。
スクリーンショット 2016-09-30 18.14.44.png

ターゲットの情報を入力したら、画面右上のDownload Databaseをクリックしてターゲットの情報をダウンロードします。ターゲットはunitypackageとしてダウンロードされます。

4. vuforia SDKと手順3で作成したデータベースのパッケージをダウンロードし、Unityプロジェクトにインポートする

(2018/06/17追記)Unity 2017.2 から、vuforia SDK はUnityに統合されました。
Unityのインストーラーにて、 Vuforia ArgumentedReality Support にチェックを入れてからUnityをインストールしましょう。

vuforia1.PNG
Unityをインストールして新しいUnityプロジェクトを作成したら、まずメニューバーの Edit → Project Settings → Player を選択し、下図のように XR Settings セクションにある Vuforia ArgumentedReality Supported にチェックを入れます。
これにより Vuforia SDK がUnityで使用できるようになります。

vuforia2.PNG

以下、古い情報です。この方法でもUnity用のSDKは使用できますが、Legacyとなっており2017年以降に登場した新しい機能は実装されていません。

vuforia SDK は、Developer PortalのDownloadsからダウンロードできます。Unity用のものを選択しましょう。
アプリケーションを作成するためのUnityプロジェクトに、ダウンロードしたSDKとデータベースをインポートします。

長くなりましたが、これでUnityでvuforiaを使用する準備が整いました。

ARマーカーから3Dオブジェクトを表示させる

ここでは、データベースに登録したARマーカーに3Dオブジェクトを紐付けて表示させるという、簡単なARアプリケーションを作成してみましょう。
以下の手順で実施します。

  1. ARカメラのオブジェクトを配置する
  2. ImageTargetのオブジェクトを配置する
  3. ImageTargetのオブジェクトと、表示させたい3Dオブジェクトを紐付ける
  4. アプリケーションを実行する

1. ARカメラのオブジェクトを配置する

Unityプロジェクトを新規作成するとMainCameraのオブジェクトがすでに存在していますが、それを削除します。
インポートしたUnityパッケージから、「vuforia」→「Prefabs」のフォルダにある「ARCamera」というオブジェクトをシーン中の適当な場所に配置します。


(2018/06/17追記)Unity 2017.2以降で、Unityに統合されたVuforia SDKを使用している場合、下図のように GameObject → Vuforia と選択することで、ARCameraなどVuforiaに関連するGameObjectを配置することができます。
(Hierarchyビューで右クリックしてVuforiaを選択することでもGameObjectの配置ができます)

vuforia3.png


続いて、ARCameraのオブジェクトのInspectorをいじります。
いじる箇所は下図の赤枠で囲んだところです。
スクリーンショット 2016-09-30 18.54.34.png

上の赤枠「App License Key」のところには、先ほど登録したライセンスキーをコピー&ペーストしましょう。
したの赤枠「Load データベース名」と、その下の「Activate」のチェックボックスにはチェックを入れましょう。これによりデータベースを有効化できます。
画像のように、複数のデータベースを読み込むこともできます。

2. ImageTargetのオブジェクトを配置する

ARCameraと同様に「vuforia」→「Prefabs」のフォルダにあるImageTargetのオブジェクトを、シーン中の適当な場所に配置します。
ImageTargetのInspectorのうち、下図の赤枠で囲まれた箇所をいじります。
スクリーンショット 2016-09-30 18.58.15.png
Databaseにはインポートしたデータベース名を、Image Targetにはデータベースの中で作成したターゲット名を選択して入れましょう。

3. ImageTargetのオブジェクトと、表示させたい3Dオブジェクトを紐付ける

表示させたいGameObjectを用意し、ImageTargetの子オブジェクトとします。
これにより、親であるImageTargetと紐付けることができます。
スクリーンショット 2016-09-30 19.01.12.png

シーン上のGameObjectとImageTargetの位置関係は、ARカメラ上で実際にターゲットを捉えた際にそのまま反映されます。
つまり、シーン上でImageTargetの真上にGameObjectを配置すると、ARカメラ上でもターゲットの真上にGameObjectが表示されます。
スクリーンショット 2016-09-30 19.02.58.png

図は、将棋の駒である王将の画像の上にUnityちゃんを表示させようとしています。

4. アプリケーションを実行する

ここまで出来たら、アプリケーションを実行してみましょう。
PC内蔵のカメラの映像が映っているはずです。
(お使いのPCにカメラが内蔵されていない場合は、別途Webカメラを用意する必要があります)
スクリーン.png

このように、ARマーカーに紐付いた3Dオブジェクトが表示されました。

おわりに

以上で、プログラミングなしでも簡単にUnityでAR開発ができることが分かると思います。
もちろん、プログラミングにより開発の幅を広げることもできます。
公式のリファレンスを覗いてみると良いでしょう。
https://library.vuforia.com/api-list

また、Developers Portalには多くのサンプルがあります。
これらを試してみるのも良いでしょう。
https://developer.vuforia.com/downloads/samples
日本語での紹介記事もあります。
http://anchan828.tumblr.com/post/38984394106/vuforia%E3%81%A7%E5%87%BA%E6%9D%A5%E3%82%8B%E3%81%93%E3%81%A8

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22