FLARToolKit
FLARToolKit version 2.x
Section 3 詳細説明
ライブラリ本体と、サンプルなどのコードを別々に管理しながら作る方法を含め、FLARToolKitのサンプルソースコードについて説明します。
開発環境は前の環境を引き継いでいます。
また、この開発手法はGPLに準拠した配布には向かない構成なので注意してください。
FLARToolKitの構造
FLARToolKitは、おおよそ下記の図の様な構造になっています。
(この図は本当に大まかな図で細かく書くともうちょっと違う図になります)
FLARToolKitアプリケーション | |
3D Libray(PV3D,Away3D...) | |
FLARToolKit | flartoolkit.support |
NyARToolKit for AS3 |
基盤となっているのは、NyARToolKit for AS3で、NyARToolKit for Java から移植されたバージョンを基礎としています。 この上にFLARToolKit独自の拡張機能を載せています。また、supportパッケージが、各種3Dライブラリとの連携用にあるという構造です。 FLARToolKitというものは、あくまでもカメラなどからの映像を解析して、座標情報のMatrixを算出する部分までしかカバーしていないのですね。 3D表示部分というのはあくまでもおまけで、得られた情報をどのようにするかはユーザー次第だったりするわけです。
詳しい理論は工学ナビの中の人が書いている本「ARToolKit拡張現実感プログラミング入門」を御覧下さい。
FLARToolKitの構造
version 2.xからの構造になります。
このような構造になったのは、NyARToolKitのバージョンアップと連動してFLARToolKitも高速化、機能追加を行うことを容易にするためです。
Adobeの展開にもよりますが、NyARToolKitの部分をAlchemy化することも考慮されています。
FLARToolKitのライブラリ化
さて、このような構造になっているので、NyARToolKitの部分と、FLARToolKitの部分をswc化しつつ、PV3Dとsupportの部分も切り出しておきましょう。 そうすることで、swcをリンクすれば良いだけ、使用する3Dライブラリにあわせて切り替えるだけという状態になります。
前回インポートしているので、そこからコピーしながら構築してしまいましょう。
Flash Builderを起動して、新規にプロジェクトを作成します。
[ファイル]->[新規]->[Flex ライブラリプロジェクト]
プロジェクト名にFLARToolKit、フォルダーはC:\workspace_flartk\FLARToolKitと入力して[Finish]。
同様の手順で、FLARToolKit_PV3Dというライブラリプロジェクトを作成します。
プロジェクト名にFLARToolKit_PV3D、フォルダーはC:\workspace_flartk\FLARToolKit_PV3Dと入力して[Next]。
この画面になったら、[プロジェクトの追加]ボタンをクリック。
FLARToolKitを選択して、[OK]
こんな感じになったら、[Finish]ボタンをクリック。
次に必要なファイルをコピーしながら、不要な部分を削除したりします。
しかし、パッケージエクスプローラでは使いにくいので別のビューを使用します。
[ウィンドウ]->[他のビュー(V)…]をクリックして、下図のウィンドウを開きます。
そこから、[General]->[Navigator]をクリック。
追加されたら、使い易いように配置してください。
こちらは説明しやすいように全体に表示しています。
まず、FLARToolKitのライブラリを作ります。
FLARToolKit_2_5_2プロジェクトの[libs]->[NyARToolKitAS3]->[src]内の[jp]フォルダをコピーして、FLARToolKitプロジェクトの[src]フォルダにコピーします。
次に、FLARToolKit_2_5_2プロジェクトの[src]内の[org]をコピーして、FLARToolKitプロジェクトの[src]フォルダにコピーします。
さらにもう一つ。[src]->[org]->[libspark]->[flartoolkit]と開いて、[support]フォルダを削除します。
このサポートクラスがあると、すべてのライブラリが必須となるためです。必要最低限のモノだけ別プロジェクトで追加します。
これで、FLARToolKitのコアswcが作成できたので、PV3D用のライブラリを作成します。
FLARToolKit_2_5_2プロジェクトの[libs]->[Papervision3D]->[src]内の[nochump]と[org]フォルダをコピーして、FLARToolKit_PV3Dプロジェクトの[src]フォルダにコピーします。
最後に、FLARToolKitのsupportをコピーしてからpv3d以外のライブラリを削除します。
最終的に下図のようになります。言葉で説明すると、FLARToolKit_2_5_2プロジェクトの[src]内の[org]をコピーして、FLARToolKit_PV3Dプロジェクトの[src]フォルダにコピーします。
それから、[support]以外を削除。さらに[support]内の[pv3d]以外を削除します。
この手順以外にも方法はありますが、最終的に下記の図のようにしてください。
これで準備完了です。
次回からサンプルソースコードを見ながら作成していきます。