ARとは?
最近よく目にするARとはAugmented Realityの略で,日本語にすると「拡張現実」と言います。昔はやったVR(Virtual Reality)とよく間違われるのですが,こちらは「仮想現実」。ARとは違います。
Wikipediaによると,ARは次のように定義されています。
拡張現実とは現実環境にコンピュータを用いて情報を付加提示する技術,および情報を付加提示された環境そのものを示す。
難解な文章でよくわからないですよね。具体的なモノでいうと,アレです,ドラゴンボールに出てくる「スカウター」です。スカウターを通して見ると現実環境に相手の戦闘能力が付加提示されて見える,と。実写に完全にシンクロさせてリアルタイムにCGなどを合成するという技術なのです。
FLARToolKitとは?
さて,本稿で解説するFLARToolKit(えふえるえーあーるつーるきっと)とは,このARという技術を容易に実現するために開発されたARToolKitというものをFlash(ActionScript3.0)に移植したものです(※1)。
- ※1
- FLARToolKitは,ARToolKitをJavaに移植したNyARToolkitをベースにしています。
実際にFLARToolKitがやってくれるのは実写画像から3次元空間の位置を計算するところまでで,その計算結果を使って3Dオブジェクトを表示するためには別途Papervision3Dなどの3Dライブラリが必要になります。現在FLARToolKitが対応しているのはPapervision3D(rev.815以降)だけですが,近日中にAway3D 2.3への対応も予定しています。
FLARToolKitは日本最大のFlash/ActionScriptオープンソースコミュニティ,Spark projectに参加しています。最新版のソースコードはリポジトリからダウンロード可能です(FLARToolKitのページはこちら)。
ライセンス
ライセンスは移植元のARToolKitがGPLで公開されているため,必然的にFLARToolKitもGPLでの配布となります。
また,GPLではソースコードの公開が必要であったため,企業サイト等には導入しづらかったのですが,2月16日にARToolKitの開発元のARToolworks,Inc.からFLARToolKitとNyARToolkit向けの商用ライセンスが発表されました。この商用ライセンスを利用すればソースコードの公開は必要ないため,企業のキャンペーンサイトなどにも導入しやすくなったと思います。
FLARToolKitの仕組み
FLARToolKitを使うまえに,FLARToolKitの仕組みを解説しておきましょう。
FLARToolKitはどのようにして実写内の空間を認識するのでしょうか。ヒントはマーカーと呼ばれる特徴のある画像です(図1)。
マーカーでは,黒い四角い枠のなかに任意の絵柄を描きます(※2)。FLARToolKitは実写内に写ったマーカーを見つけて,そのマーカーが3次元的にどの方向を向いているのかを計算する,という仕組みになっています。そのため,まったく何もない空間だけでは認識できません。必ずマーカーが必要になります。
- ※2
- ちなみに,図1はオリジナルのARToolKitにデフォルトで付属してるマーカーなのですが,どうしてHiroと書いてあるかというとARToolKitの開発者が「加藤博一(かとうひろかず)」さんだからだとか,なんとか。
FLARToolKitをさわってみよう
FLARToolKitを使用するうえで,準備するものは以下ものです。
- Flash CS3以降
- Webカメラ
- FLARToolKitスタートキット
- 印刷したマーカー
まず,なにはともあれFlash。FLARToolKitはActionScript3.0で書かれているため,Flash CS3以降が必要です(実際には.flaには素材的なものは何も含まれていないので,Flex BuilderやFlashDevelopでも簡単にできます)。
次にWebカメラ。Flashから使えるものであれば安いものでも問題ありませんが,露出補正機能がついているもののほうが明るさの変化に対応してくれて認識しやすくなるのでおすすめです。
そしてFLARToolKitスタートキット。これは僕のブログの記事「FLARToolKitスタートアップガイド」のためにファイル一式をまとめたものですが,必要なファイルがまとまって入っているので今回も手始めにこのデータを使います。
最後にマーカー。スターターキットにflarlogo-marker.pdfというのが入っているので,適当な紙に拡大縮小せずにそのままのサイズ(80mm×80mm)で印刷してください。厚めの紙のほうが曲がったりしなくてよいのでおすすめです。
FLARToolKitスタートキットを利用した手順
それでは,始めます。
- SimpleCube.flaを開きます。
- Ctrl+Enter(MacならCommand+Enter)でパブリッシュプレビューします。
- カメラ画像が表示されるのを確認。表示されてない場合はカメラを選び直す必要があるので,ステージを右クリックしてコンテキストメニューから「設定」,カメラアイコンの描いてあるタブを選んで,プルダウンから適当なものを選択してください。MacBookなどの内蔵カメラは「USB Video Class Video」という名前です。また,カメラ設定の詳しい説明はAdobeのサイトを参考にしてください。
- カメラからの映像が映ったら,カメラの前に印刷しておいたマーカーをかざします!
すると,図2のような感じでマーカーの上にピンクのCubeが乗って表示されます! 現実が拡張されてます! マーカーを動かしてもピッタリくっついてきます(ムービーで見てみる)。
上手に認識されないときは部屋の照明を明るくしてみてください。光が反射して黒い部分が光ってしまっていてもダメです。白と黒のコントラストがはっきり出るようにしてみましょう。


