VuforiaとUnityでお手軽AR開発

UnityでARを扱うライブラリは複数ありますが、今回はVuforiaライブラリを使っていきます。

 

Vuforiaでの注意点はエディター上で動作確認をするには64bit版のUnityでは動きません。

なので32bit版のUnityをインストールする必要があります。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

する必要がありました。

しかし、VuforiaのVer6から64bit版でも動作するようになりました。

なので通常通り64bit版のUnityで開発を進めていきます。

 

 

あらかじめUnityでプロジェクトを作っておきます。

プロジェクト名はお好きに。

f:id:Nostalgic:20161219223555p:plain

 

 

 

 

まずはVuforiaのWebサイトから
必要なものをダウンロードしてきます。

Vuforia Developer Portal 

アカウントがなければならないのであらかじめアカウントを作っておいてください。

VuforiaのWebページ右上から作れます。

 


Vuforia Develperにアクセス
WebサイトのメニューバーのところからDownloadsを選びます

f:id:Nostalgic:20161219225929p:plain

Unityで開発をするので「Download for Unity」をダウンロード

ダウンロードしたUnityPackageをダブルクリックしてUnityのプロジェクト内に全てインポートします。

 



インポートが完了すると、このような具合にAssetsフォルダに追加されていると思います。

f:id:Nostalgic:20161219230220p:plain


そうしたら、ProjectビューからAssets -> Vuforia -> Prefabs -> ARCameraをシーンに追加します。

このカメラがデバイスのカメラとなります。
カメラは二つもいらないので、最初からシーンに置いてあるMainCameraはDeleteしておきます。

また、同じフォルダ内にある、ImageTargetもシーンに追加します。これがARマーカーに相当します。

 

 

 

ここまでできたら、またVuforiaのWebサイトに戻ります。
次はDevelopを選びます。
LicenseManagerとTargetManagerの2つがあるので、まずはLicenseManagerを選択。
「Add License Key」を選択します。

f:id:Nostalgic:20161219230142p:plain


作成するプロジェクトのタイプを聞かれます
今回は個人の開発なのでDevelopmentを選択します。

名前は自由につけてください。私は「UnityAR」と名前をつけます。
DeviceはMobileを選択しておきましょう。

 

 


無事作成が完了すると、最初のLicenseManagerのページに作ったプロジェクトが表示されます。
作ったプロジェクトの名前の部分をクリックしましょう。

するとプロジェクトのライセンスキーが表示されるので、これをUnityのARCameraに入力します。

f:id:Nostalgic:20161219230152p:plain

これをコピーし、ARCameraのInspectorビューから、VuforiaBehaviourのAppLicenseKeyにペーストします。

f:id:Nostalgic:20161219230655p:plain
LicenseKeyがないとARが起動しないので注意しましょう。

 

 

次は、ARに使うARマーカーの設定を行います。
VuforiaのWebサイトに戻り、DevelopからTargetManagerへ進み、AddDatabaseを選択しましょう。

 

データベース名とタイプを聞かれます、好きな名前をつけていいですが、ここはLicenseKeyと同じ名前の方がいいでしょう
タイプはDeviceにします。

データベースを作成すると、TargetManagerのページに作ったデータベースが表示されるので名前をクリック。
初めはARマーカーが何も設定されていないので、AddTargetからマーカーを追加します。

f:id:Nostalgic:20161219231049p:plain

TypeはSingle Imageを、
Fileにはマーカーにしたい画像ファイルを選びます。なんでもいいです。
Widthは、なんでもいいですが、今回は100とします。
Nameも好きなものにしましょう。私は「Marker01」とします。
今回はテストとして、本の表紙をマーカーに設定します。

f:id:Nostalgic:20161219231535p:plain

 

 

マーカーのアップロードが完了すると、TargetMarkerに無事追加されています。
そしたら、このデータベースをダウンロードしてUnityにインポートしましょう。
「Download Database(All)」からダウンロードするとき、UnityEditorを選択します。
そうすると、UnityPackageで出力されます。

f:id:Nostalgic:20161219231706p:plain

 

 

 

インポート完了後、
UnityのHierarchyビューにあるImageTargetを選択します。
InspectorビューのImageTargetBehaviourに先ほど作ったデータベースを登録し、ImageTargetにマーカーをセットします。
マーカーを設定すると、WidthとHeightは自動的に設定されます。
これでARマーカーの設定は終わりです。

f:id:Nostalgic:20161219231801p:plain

 

 

最後にARCameraの最終設定を行います。
まず、データベースを読み込ませます。
ARCameraのInspectorビューから、
VuforiaBehaviourの「Load Object Targets on Detection」にチェックを入れます。
同じく、DatabaseLoadBehaviourの「Database UnityAR Database」と「Activate」にチェックを入れます。
「Activate」は「Database UnityAR Database」にチェックを入れると出現します。
これでカメラの設定は終わりです。

f:id:Nostalgic:20161219231840p:plain

 


本当の最後に、
ARマーカーで出現させる3DモデルをHierarchyビューのImageTargetの子オブジェクトにします。
好きな3DモデルをAssetStoreなどで持ってきてください。
私は、SDユニティちゃんを使用します。
大きさや向き、位置はお好みで。

 

これで全ての設定は完了です。
実行してみると、PCのカメラがゲーム画面として表示されると思います。
そのカメラを設定したARマーカーに向けるとImageTargetの子オブジェクトとした3Dキャラクターが表示されます。

f:id:Nostalgic:20161219231934p:plain

 

 


おまけ1
もし、カメラが複数パソコンに接続されていた場合、ARCameraのInspectorビューから
WebCamBehaviourのCameraDeviceから好きなカメラを選択できます。
もし、カメラが接続されていない場合は、「NO CANERAS FOUND」と出ます。

f:id:Nostalgic:20161219232005p:plain

 

 

おまけ2
ARマーカーを増やす場合は、同じ要領でVuforiaのデータベースにターゲットを追加していきます。

追加した場合は、その都度データベースをダウンロードし、Unity内にインポートする必要があります。

 

初期設定では、カメラ内に複数のマーカーを置いても反応するのは1つだけです。

それもいいですが、中には複数同時に表示させたい時もあると思います。

その時は、ARCameraのVuforiaBehaviourのMaxSimultaneousTracke.....の値を増やしましょう。

f:id:Nostalgic:20161219232027p:plain

 

 

 

 

この記事は「さいたまげーむす Advent Calendar」への投稿記事です。

qiita.com