 
		
					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モデルを表示することも可能ですので試してみてください。 今回はサンプルのキューブを表示しただけですが、キューブ代わりに公開されている3Dモデルを表示することも可能ですので試してみてください。
 実際の授業では、もっと盛りだくさんでお送りします(^^)

