UnityとVuforiaでARアプリの作成


職場等でポケモンGoの話題が挙がっていたので、unityを使ったARアプリの作成の調査を行いました。

ARライブラリにも色々なものが提供されておりますが、
今回は簡単にARアプリの実装を行えるVuforiaというARライブラリを使用しました。
ポケモンgoもVuforiaが使われているそうです。

Vuforiaは有償のサービスですが、無料ライセンスも用意されているので今回はそのライセンスで作成しました。
手順が理解できると、シンプルなものなら簡単に作れますので、興味のある方は挑戦してみてはいかがでしょうか。
（私は最後にマーカーが記された紙をカメラにかざすところがわからなくて詰まりましたが…。）

以下にその手順を示します。

##手順

* Vuforiaにユーザ登録
* Downloadsタブを選択し、unity用のVuforiaSDKをダウンロード
![AR1.png](https://qiita-image-store.s3.amazonaws.com/0/59609/c5f653f4-e5a6-ff72-44ed-4afd0f1f9b84.png "AR1.png")

* developタブを選択し、License ManagerでAdd License Keyを押下
![AR2.png](https://qiita-image-store.s3.amazonaws.com/0/59609/41295901-c10e-4d74-6008-46dd7c62d4ab.png "AR2.png")

* 以下の項目を入力し、ライセンスを登録

 Application Name:任意の名前
 Device:Mobile
 License Key:Starter
 ![AR3.png](https://qiita-image-store.s3.amazonaws.com/0/59609/96cf6dae-743e-f12c-1cd9-89aa8cae7cc9.png "AR3.png")

* Target Managerでマーカーを保存するデータベースを作成

![AR4.png](https://qiita-image-store.s3.amazonaws.com/0/59609/3332572c-d6c1-e26e-728a-7b9ace039f66.png "AR4.png")

![AR5.png](https://qiita-image-store.s3.amazonaws.com/0/59609/e1773e36-33ea-a1ed-f263-ab4c68c67c5b.png "AR5.png")

* 作成したデータベースでAdd Targetボタンを選択してターゲットを作成

![AR6.png](https://qiita-image-store.s3.amazonaws.com/0/59609/d0d17209-6523-773f-a3f7-dd8229d7a357.png "AR6.png")

* ターゲットの設定値を入力して登録

 今回はtypeをSingle Image、widthを100、fileにマーカーに使う画像を設定しました。
 
![AR7.png](https://qiita-image-store.s3.amazonaws.com/0/59609/b3378f5c-d042-f685-56bf-f184d1a95cc8.png "AR7.png")

・今回マーカーに使った画像（任意）
 ![magic_circle.jpeg](https://qiita-image-store.s3.amazonaws.com/0/59609/10d57303-3371-71da-048e-2a36a2144200.jpeg "magic_circle.jpeg")

* Target Manager内で作成したデータベースのターゲットを選択して、作成したデータベースをダウンロード

![AR8.png](https://qiita-image-store.s3.amazonaws.com/0/59609/54a5eec1-c15f-3d84-a8f2-9ac344170715.png "AR8.png")

* unityをインストールしていなければunityをインストール
* unityを起動し、新しいプロジェクトを作成
* メニューの[Assets]-[Import Package]-[Custom Package]を選択して、上記でダウンロードしたVuforiaSDKと作成したデータベースをインポート

 * VuforiaSDK
![AR9.png](https://qiita-image-store.s3.amazonaws.com/0/59609/c009c86a-440f-bb37-f3e8-117a4ebc13d0.png "AR9.png")

* 作成したデータベース
![AR11.png](https://qiita-image-store.s3.amazonaws.com/0/59609/e64b9ba2-9208-462b-0141-f07321c0afdd.png "AR11.png")

* Hierarchyパネル内のMain Cameraを削除して、Projectパネルの[Assets]-[Vuroria]-[Prefabs]を選択し、AR CameraとImage TargetをHierarchyパネルにドラッグ&ドロップ

 ![AR10.png](https://qiita-image-store.s3.amazonaws.com/0/59609/54820158-5287-9524-ef67-c87bd2f3d184.png "AR10.png")

* HierarchyパネルでAR Cameraを選択し、Vuforia Behaviour(Script)のApp License KeyにVoforiaのLicense Managerに表示されているLicense keyを貼り付け、Database Behaviour(Script)のLoad (database_name) databaseとActivateの項目にチェックを入れる。

 ![AR12.png](https://qiita-image-store.s3.amazonaws.com/0/59609/3345d3ba-a772-2f79-1653-ae9832ff3c4d.png "AR12.png")

 ![AR13.png](https://qiita-image-store.s3.amazonaws.com/0/59609/e730a2c7-f2ba-b153-39fa-84026c0a6fd6.png "AR13.png")

* HierarchyパネルでImage Targetを選択し、Image Target Behaviour(Script)のDatabase、Image Target、widthの項目にVuforiaで設定した値を入力する

 ![AR14.png](https://qiita-image-store.s3.amazonaws.com/0/59609/c0f8db51-d882-bc2b-cc1c-013aeb3187d1.png "AR14.png")


* HierarchyパネルでImage Targetの配下に任意の３Ｄオブジェクトを作成し、Image Targetの少し上に配置する。

![AR15.png](https://qiita-image-store.s3.amazonaws.com/0/59609/fe935dfd-1b17-e84a-eef7-1ecdf9909d37.png "AR15.png")

* AR Cameraの視点を調整し、カメラからImage Targetとオブジェクトが見えるようにする。

![AR17.png](https://qiita-image-store.s3.amazonaws.com/0/59609/33fcd0c4-e9d7-8144-7ede-38aa838c7dae.png "AR17.png")


* Image Targetに設定した画像をプリントアウトした後にプロジェクトを起動し、プリントアウトした紙をカメラにかざすと、紙面の画像の上にunityで作成した３Ｄオブジェクトが浮かび上がります。

![AR16.png](https://qiita-image-store.s3.amazonaws.com/0/59609/f67376ff-aab3-864b-45f5-0200eb23b713.png "AR16.png")

##参考

・Vuforia
https://developer.vuforia.com/

・Unityでも使える無料ARライブラリVuforiaの基礎知識とライセンス登録、インストール、簡単な使い方
http://www.atmarkit.co.jp/ait/articles/1508/24/news025.html

・Pokemon GO! How to Make a Game With Augmented Reality (AR) in Unity | Ep 1
https://www.youtube.com/watch?v=TQo8niFy3iY