さあ!ARアプリ作ろうぜ!
と言ってもARってなん?って事でまずはggってみる。
目次
ARとは
AR・・・Augmented Realityの略。拡張現実。現実の中にコンピュータ情報(3DCGなど)を付加して現実を強化・増強する。
モバイルARアプリ開発“超”入門(1):いまさら聞けないAR(拡張現実)の基礎知識 (1/3) – @ITにさらに詳しいことが書いてあります。
とまあこれを見ると「はいはいはいはい。見たことあるよ。」となる方も多いんじゃないかなと思います。
つまりカメラなんかのデバイスを通して見るとある物体の上とか手のひらとかに3Dモデルの人やらなにやらが映し出されて、さも現実の一部のように見える、といった感じの技術ですね。
流行る気配もあったし、ビジネス利用の動きなんかもありました。
っていうか全然現在進行形です。
スマホの普及で拍車がかかったのか(体感的に)ARアプリも増えてます。
Google I/Oで謎のダンボールが配られたっていうのも記憶に新しいところ。ウェアラブルコンピューティングの流れとともに更に発展が期待される技術です。
とまあ異常に前置きが長くなってしまったんですが、タイトルにある通り、これUnityで作れちゃいます。簡単に。しかもタダで。
で、それを実現してくれるのがQualcomm(クアルコム)のVuforiaです!
Vuforia
このサービス、モバイル向けのARアプリ開発用ライブラリです。
Android用、iPhone用とSDKが提供されています。
って聞くとUnity内でプラグイン化してうんたらかんたら・・・・
みたいな面倒事を想像する方もいると思います。
ですが、このサービス!Unity用のSDKが提供されています。
つまりUnityで簡単に作れちゃうわけですね!
ではココからは利用方法。
登録
いきなりSDKダウンロードだぜ!って行きたいところですがそうは問屋が卸してくれません。
なのでまずは登録ページに行ってユーザー登録しましょう。
Vuforiaのクラウドデータベースに後ほどカメラに認識させるマーカーを登録することが必須なのでとにかく登録しないといけないというわけです。
こんな感じの登録フォームが出てくるのでちゃちゃっと済ませちゃいましょう。一番下のチェックは最新情報とか欲しい人だけチェックしましょう。
フォームを送信すると確認メールが飛んできます。
サクッと
「Click the following link to complete your registration」の下のリンクに飛んで登録完了しちゃいましょう。
完了画面がそのままログイン画面になっているのでこれまたサクッと登録したIDとパスワードでログイン。
SDKのダウンロード
ここに飛ぶと早速ダウンロードが出来ます。
OSに合わせてファイルを用意してくれるので素直にクリックしましょう。
ライセンスに同意するか聞かれるので素直に同意します。
ここで注意!
macのchromeだと規約がうまく表示できずにダウンロードが出来ないという不具合が起きるようです。(14/09/09現在)
firefoxなら大丈夫だったので別のブラウザでダウンロードしましょう。
Unityにインポート
ようやくココでUnityを立ち上げます。
新しいプロジェクトを立ち上げたらさっき落としたDLファイルをダブルクリックします。Unityのpackageになっているのでそのままインポート出来ます。全部まるっとインポートしちゃいましょう。
インポートするとこんな感じ。
じゃあ後はココを見てくれ!
・・・・ってのは投げっぱなしすぎるので引き続きARアプリの制作をしていきましょう。
ARアプリの制作
先ほどのココを元にして制作していきましょう。
ARカメラの設置
すでにHierarchyにあるMain CameraではAR出来ないのでまずは捨てちゃいます。
捨てたら代わりにARカメラ(Qualcomm Augmented Reality/Prefabs/ARCamera)をProjectビューからHierarchyにD&Dしましょう。
この段階ですでにPlayするとカメラが起動するようになります。
内蔵カメラなんか勝手に読み取ってGameビューに写したりされたり。
マーカーの設定
引き続きImageTargetをHierarchyにD&Dします。
Hierarchyに置いたImageTargetオブジェクトを選択してInspectorを開きます。
説明によるとサンプル用のStonesAndChipsというImageTargetがあるなどと言っておりますが空です・・・・説明が今のSDKのバージョンより古いんだな・・・・
もう割り切って作ってしまおう。
どうせサンプル画像でやっても人をビックリさせられない。
というわけでInspectorのImage Target Behaviour内に「ターゲット見つからないからここで作っちゃいなYO」的な事が書いてある(適当)ボタンをクリック。
するとTarget Managerのページに飛びます。
サクッとログインするとこんな画面に。
これによると
1.新しいデータベースを作る
2.画像を上げる
3.ターゲットデータセットをダウンロード
4.アプリに統合する
ということらしい。
なのでサクッとCreate Databaseをクリック。
データベース名を聞かれるのでとりあえずなんでもいいのでhogeでもtestでも好きなように入力してCreate。
するとあっという間にデータベースが用意される。
データベース名をクリックしてAdd Targetするとターゲット登録画面になる。
基本的には平面をマーカーにすることが多いと思うのでSingle ImageでOK。
物体の形状に合わせてTarget Typeは適宜選択する。
全ての項目を入れ終わったらAddする。
Targetが追加されていることは確認できるが数分立たないと画像が登録されないため、少し待つ。
少し待ってリロードすると画像が表示されて有効になる。
星の数が多いほど認識しやすいということです。
このデータベース1個に100枚入れられます。
ちなみに修造さんは好きですけど本の内容は共感できない(いきなり謎レビュー)
修造さん星5つです。さすがです。
アップした画像にチェックを入れてDownload Selected Targetsをクリック。
するとフォーマットを聞かれるのでUnity Editorを選択してCreate。
unitypackageがダウンロードされます。
落としたパッケージをすかさずダブルクリック。
インポートすると先ほどImage Target Behaviourの様子が・・・・
Data SetやらImage Targetやら追加されております。
Data Setのプルダウンから先ほど作ったデータベース名を選択。
Image Targetから好きな画像を選びます。
すると画像がMaterialとして設定されます。
表示したいオブジェクトの追加
続いてImage Targetの子として表示したいオブジェクトを追加します。
今回はUnityManを投入。こんな感じ。
カメラと表示したいオブジェクトとImage Targetの位置は調整してください。
Image Targetが写った時にオブジェクトがどう表示されるかの配置なのでそれを意識しながら。
出来上がったら、Hierarchy > Create > Light > Directional Lightで照明をつける。忘れるとせっかく写っても真っ暗オブジェクトになってしまうので注意。
仕上げ
ARCameraがImage Targetを読み込めるように、ARCameraのInspectorにあるData Set Load Behaviourの「Load Data Set データベース名」にチェックし、チェック後に出現する「Activate」にもチェックを入れる。
これで完成です!
完成
Android端末で実際に写してみる。
写った!
UnityManの凛々しいお姿です。
長い記事になってしまいましたがお付き合いいただき有り難うございます。
記事で見ると大変な作業に見えますが、ものの30分でARアプリが作れます。
今回はシンプルなアプリでしたが、もっと沢山画像を登録してHierarchyにImage Targetを増やしてそれぞれに違うモデルを配置したりなんかすればもっとバラエティ豊かなARアプリになるでしょう。
これは面白い!稼げる!などなど興味をもった方はAPIも公開されていますし、クラスファイルをカスタマイズしたりしてゲームにしてみたり、写真を撮れるようにしたりと、もっと豪華なアプリにして楽しんでみてください。
ホントは4月に記事にしようとしてたんだぜ・・・・・
せめて8月の記事に出来ればよかったのになぁ・・・・と思いつつも記事に出来てよかったと思うハコなのでした。
ピンバック: Vuroria | Pearltrees