AR体験
当スクールでは、授業の進捗具合に余裕があれば、
AR技術の授業も行っています。
ここでは、今をときめく最新技術、ARを体験します。
ARってなんだっけ?と思いましたね?まずはこちらをどうぞ!
琉球銀行のARアプリです。
普通の名刺と思いきや、スマホをかざすと3D映像が出現!
これ、営業の武器として良いですよね?
普通の名刺に仕掛けられたAR
あえて一回目の名刺交換ではやらずに、2回目の営業時に、、、。
「社長っ。この前お渡しした名刺、実は仕掛けがありまして、、」
と持ちかけ、前渡した名刺を出してもらいます。
そこで、これを見せるとインパクト大!。
「社長のお子さんに見せるととっても喜びますよ~」
と伝えると、なお良いでしょう。
「君ぃ、、、会ったのは2回目だけど、1億くらい君のところの
銀行で借りようかな」という展開は、よくある話です(笑)
AR技術のポイント
僕もこの名刺もらいましたが、ほんっっとうに普通の名刺に見えるん
ですね。それもそのはず。ほんっっとうに普通の紙なんですから。
どんなトリックになっているのか?
実は紙に仕掛けがあるのではなく、アプリが画像(絵)に反応して
3D画像を出現させているんですね~。絵に反応しているという事
は、別に名刺でなくていいわけです。
この絵が例えば大きな壁に描かれていた場合、アプリは反応します。
テレビに映っていても反応します。
大きな壁面から出てくる川上頭取、、、、、。
テレビの中から頭から勢いよく飛び出してくる川上頭取、、、。
なかなかシュールな絵ですね。
ここからは実際の体験に進んでいきます。
ARToolKit
ARToolKitは、ARの研究のために開発されたソフトウェアライブラリで、
巷で騒がれているARのプログラムを簡単に作ることができます。
ARとは
実在の風景に仮想の風景や物体を合成することができます。
ポケモンGOもARを使ったゲームのひとつです。
ARの種類
ARにも色々な種類があり、先ほど挙げたポケモンGOの特徴は、モンスターが
出現する場所が決まっているというところです。
「この場所にいけばこのモンスターが出現する」なんて情報があったりします。
つまり、ポケモンGOは現実の『場所(位置)』に仮想のモンスターを合成しています。
ARには位置情報以外にも、特定のマークの上に仮想の物体を合成する方法があります。
言葉だとイメージしづらいかもしれませんが、カードゲームのアニメでは、
カードに描かれたモンスターがカードの上に立体になって現れますね。このイメージです。
ポケモンGOとは異なり、カードという『マーク(印)』の上に仮想の物体を
合成するということです。
今回はマーカを使った簡単なARのプログラムを作成してみたいと思います。
ARを作るのに必要なツール
- カメラ付きのPC
ARは現実の世界に仮想の物体を合成するので、現実の世界を写すカメラが
必要です。最近のPCにはカメラが内臓されていますが、カメラが内臓されていないPC
の場合は外付けのカメラ等を用意してください。 - unity(バージョン5.3.2)
ゲーム開発で利用されるツールです。
5.3.2より新しいバージョンがありますが、今回利用するARunityパッケージが
対応していない部分があるため、このバージョンを利用します。
ダウンロードは次のURLから可能です。https://unity3d.com/jp/get-unity/download/archive
- マーカーに使用する画像
マーカを作成する際に画像の解像度が必要になります。
スキャナ等で取り込む場合は指定した何DPIで取り込んだか
忘れないようにしてください。
ARに使用するライブラリ
今回ARのプログラムを作成するにあたってARToolKitというライブラリを利用します。
ARToolKitを利用することで簡単にARアプリケーションを作成することができます。
今回はunity向けに作成されている『ARToolKit for Unity』を利用してARを体験していきます。
実際に使ってみる
ARToolKit for Unityは次のURLからダウンロードすることが可能です。
https://archive.artoolkit.org/download-artoolkit-sdk
※ページ下部の『Download Unity Package』
また、マーカーを作成する際に別途ツールが必要になります。
これも上記のページの下部『Download Additional Unity Tools』より
ダウンロード可能ですので合わせてダウンロードしてください。
AR構築の手順
- マーカーの作成(MacOSの場合)
『Download Additional Unity Tools』からダウンロードしたファイルを解凍すると
『bin』というフォルダがあることを確認してください。
binの中に『genTexData』というファイルを利用します。 - 『ターミナ』アプリを開きます。
genTexDataをターミナルにD&DするとgenTexDataまでのファイルパス(ファイルの場所)が
表示されます。そのままエンターキーを押すとgenTexDataが実行されますが、
マーカーには画像が必要ですので、genTexDataにも、どの画像をマーカーにするか指定する必要が
あります。
実際にコマンドを入力する場合は次の様になります。
1ファイルパス/genTexData ファイルパス/マーカー画像ファイル名2つのファイルをターミナルにD&Dした方が早いので試してみてください。
プログラムを実行するといくつかパラメータを設定するように求められますが基本的には
エンターを押してデフォルト設定を使用しておきましょう。(例)
1234Select extraction level for tracking features, 0(few) <--> 4(many), [default=2]://このように入力をもとめられるが、何も入力せずエンターキーを押すことで//defaultの設定ここでは2が適応されます。用意するマーカー画像によっては解像度の設定は必須です。
(必須の例)
12345678//画像の解像度(DPI)Enter resolution to use (in decimal DPI): 600//最小解像度[ 26.168~600]の間で設定Enter the minimum image resolution (DPI, in range [26.168, 600.000]): 26.168//最小解像度[ 26.168~600]の間で設定Enter the maximum image resolution (DPI, in range [26.168, 600.000]): 600プログラムが完了すると、マーカーに指定した画像と同じフォルダに
マーカーの作成が完了すると、画像と同じフォルダに画像名.fset、画像名)fset3、画像名.isetという拡張子のファイルが作成されます。
これがマーカのファイルです。 -
パッケージの展開
unitypackageを展開します。
unityのAssetメニューからダウンロードした『ARUnity5-5.3.2 』パッケージを選択してファイルを
インポートします。
-
作成したマーカファイルを規定の場所に移動
手順2で開いたファイルをAssetsフォルダ内のStreamingAssetsへD&Dして
移動します。
- シーンを開く
Assets → ARToolKit5-Unity →ExampleScenesと辿ってSimpleNFTSceneを開きます。
NFTというのは『Natural Feature Tracking』直訳すると『自然の特徴の追跡』です。
マーカーARは2次元バーコードのようなある決まりにしたがってマーカーを作る必要
がありますが、NFTはある程度自由にマーカーを指定することができます。
- シーンとマーカーを紐付け
手順5で開いたSimpleNFTSceneとマーカを紐付けます。
- 終了!
実際に動かしてみましょう。マーカーにしたものをカメラに写すと
ブルーのキューブが表示されました。
少しずれているので、unity上で修正して、キューブに画像も貼り付けましょう。
こんな感じ。
今回はサンプルのキューブを表示しただけですが、キューブ代わりに公開されている3Dモデルを表示することも可能ですので試してみてください。
実際の授業では、もっと盛りだくさんでお送りします(^^)