UnityでARアプリを作る

投稿者: | 2014年9月9日

さあ!ARアプリ作ろうぜ!

と言ってもARってなん?って事でまずはggってみる。

ARとは

AR・・・Augmented Realityの略。拡張現実。現実の中にコンピュータ情報(3DCGなど)を付加して現実を強化・増強する。
モバイルARアプリ開発“超”入門(1):いまさら聞けないAR(拡張現実)の基礎知識 (1/3) – @ITにさらに詳しいことが書いてあります。
とまあこれを見ると「はいはいはいはい。見たことあるよ。」となる方も多いんじゃないかなと思います。
つまりカメラなんかのデバイスを通して見るとある物体の上とか手のひらとかに3Dモデルの人やらなにやらが映し出されて、さも現実の一部のように見える、といった感じの技術ですね。
流行る気配もあったし、ビジネス利用の動きなんかもありました。
っていうか全然現在進行形です。
スマホの普及で拍車がかかったのか(体感的に)ARアプリも増えてます。
Google I/Oで謎のダンボールが配られたっていうのも記憶に新しいところ。ウェアラブルコンピューティングの流れとともに更に発展が期待される技術です。

とまあ異常に前置きが長くなってしまったんですが、タイトルにある通り、これUnityで作れちゃいます。簡単に。しかもタダで。

で、それを実現してくれるのがQualcomm(クアルコム)のVuforiaです!
vuforia

Vuforia

このサービス、モバイル向けのARアプリ開発用ライブラリです。
Android用、iPhone用とSDKが提供されています。
って聞くとUnity内でプラグイン化してうんたらかんたら・・・・
みたいな面倒事を想像する方もいると思います。
ですが、このサービス!Unity用のSDKが提供されています。
つまりUnityで簡単に作れちゃうわけですね!

ではココからは利用方法。

登録

いきなりSDKダウンロードだぜ!って行きたいところですがそうは問屋が卸してくれません。
なのでまずは登録ページに行ってユーザー登録しましょう。
Vuforiaのクラウドデータベースに後ほどカメラに認識させるマーカーを登録することが必須なのでとにかく登録しないといけないというわけです。
register
こんな感じの登録フォームが出てくるのでちゃちゃっと済ませちゃいましょう。一番下のチェックは最新情報とか欲しい人だけチェックしましょう。
フォームを送信すると確認メールが飛んできます。
サクッと
「Click the following link to complete your registration」の下のリンクに飛んで登録完了しちゃいましょう。
完了画面がそのままログイン画面になっているのでこれまたサクッと登録したIDとパスワードでログイン。

SDKのダウンロード

ここに飛ぶと早速ダウンロードが出来ます。
OSに合わせてファイルを用意してくれるので素直にクリックしましょう。
download
ライセンスに同意するか聞かれるので素直に同意します。
ここで注意!
macのchromeだと規約がうまく表示できずにダウンロードが出来ないという不具合が起きるようです。(14/09/09現在)
license_error
firefoxなら大丈夫だったので別のブラウザでダウンロードしましょう。
license_ok

Unityにインポート

ようやくココでUnityを立ち上げます。
新しいプロジェクトを立ち上げたらさっき落としたDLファイルをダブルクリックします。Unityのpackageになっているのでそのままインポート出来ます。全部まるっとインポートしちゃいましょう。
パッケージのインポート
インポートするとこんな感じ。
vuforia_assets

じゃあ後はココを見てくれ!

・・・・ってのは投げっぱなしすぎるので引き続きARアプリの制作をしていきましょう。

ARアプリの制作

先ほどのココを元にして制作していきましょう。

ARカメラの設置

すでにHierarchyにあるMain CameraではAR出来ないのでまずは捨てちゃいます。
捨てたら代わりにARカメラ(Qualcomm Augmented Reality/Prefabs/ARCamera)をProjectビューからHierarchyにD&Dしましょう。
setarcamera
この段階ですでにPlayするとカメラが起動するようになります。
内蔵カメラなんか勝手に読み取ってGameビューに写したりされたり。

マーカーの設定

引き続きImageTargetをHierarchyにD&Dします。
imagetarget
Hierarchyに置いたImageTargetオブジェクトを選択してInspectorを開きます。
説明によるとサンプル用のStonesAndChipsというImageTargetがあるなどと言っておりますが空です・・・・説明が今のSDKのバージョンより古いんだな・・・・
もう割り切って作ってしまおう。
どうせサンプル画像でやっても人をビックリさせられない。
というわけでInspectorのImage Target Behaviour内に「ターゲット見つからないからここで作っちゃいなYO」的な事が書いてある(適当)ボタンをクリック。
targetmanagerlink
するとTarget Managerのページに飛びます。
サクッとログインするとこんな画面に。
targetmanager
これによると
1.新しいデータベースを作る
2.画像を上げる
3.ターゲットデータセットをダウンロード
4.アプリに統合する
ということらしい。
なのでサクッとCreate Databaseをクリック。
データベース名を聞かれるのでとりあえずなんでもいいのでhogeでもtestでも好きなように入力してCreate。
するとあっという間にデータベースが用意される。
newdatabase
データベース名をクリックしてAdd Targetするとターゲット登録画面になる。
addnewtarget
基本的には平面をマーカーにすることが多いと思うのでSingle ImageでOK。
物体の形状に合わせてTarget Typeは適宜選択する。
全ての項目を入れ終わったらAddする。
Targetが追加されていることは確認できるが数分立たないと画像が登録されないため、少し待つ。
少し待ってリロードすると画像が表示されて有効になる。
addok
星の数が多いほど認識しやすいということです。
このデータベース1個に100枚入れられます。
ちなみに修造さんは好きですけど本の内容は共感できない(いきなり謎レビュー)
修造さん星5つです。さすがです。
アップした画像にチェックを入れてDownload Selected Targetsをクリック。
するとフォーマットを聞かれるのでUnity Editorを選択してCreate。
downloadselectedtargets
unitypackageがダウンロードされます。
落としたパッケージをすかさずダブルクリック。
インポートすると先ほどImage Target Behaviourの様子が・・・・
dataset
Data SetやらImage Targetやら追加されております。
Data Setのプルダウンから先ほど作ったデータベース名を選択。
Image Targetから好きな画像を選びます。
すると画像がMaterialとして設定されます。

表示したいオブジェクトの追加

続いてImage Targetの子として表示したいオブジェクトを追加します。
今回はUnityManを投入。こんな感じ。
unityman
カメラと表示したいオブジェクトとImage Targetの位置は調整してください。
Image Targetが写った時にオブジェクトがどう表示されるかの配置なのでそれを意識しながら。
出来上がったら、Hierarchy > Create > Light > Directional Lightで照明をつける。忘れるとせっかく写っても真っ暗オブジェクトになってしまうので注意。

仕上げ

ARCameraがImage Targetを読み込めるように、ARCameraのInspectorにあるData Set Load Behaviourの「Load Data Set データベース名」にチェックし、チェック後に出現する「Activate」にもチェックを入れる。
datasetloadbehaviour
これで完成です!

完成

Android端末で実際に写してみる。
写った!
arappcomplete
UnityManの凛々しいお姿です。

長い記事になってしまいましたがお付き合いいただき有り難うございます。
記事で見ると大変な作業に見えますが、ものの30分でARアプリが作れます。
今回はシンプルなアプリでしたが、もっと沢山画像を登録してHierarchyにImage Targetを増やしてそれぞれに違うモデルを配置したりなんかすればもっとバラエティ豊かなARアプリになるでしょう。
これは面白い!稼げる!などなど興味をもった方はAPIも公開されていますし、クラスファイルをカスタマイズしたりしてゲームにしてみたり、写真を撮れるようにしたりと、もっと豪華なアプリにして楽しんでみてください。

ホントは4月に記事にしようとしてたんだぜ・・・・・
せめて8月の記事に出来ればよかったのになぁ・・・・と思いつつも記事に出来てよかったと思うハコなのでした。


カテゴリー: Unity タグ:

コメント

Loading Facebook Comments ...

UnityでARアプリを作る」への1件のフィードバック

  1. ピンバック: Vuroria | Pearltrees

コメントを残す

  1. […] UnityでARアプリを作る | ハコソフト. さあ! […]