公開日:2010/3/3 0:00:00

FLARToolKit

FLARToolKit version 2.x

Section 3 詳細説明

ライブラリ本体と、サンプルなどのコードを別々に管理しながら作る方法を含め、FLARToolKitのサンプルソースコードについて説明します。

開発環境は前の環境を引き継いでいます。
また、この開発手法はGPLに準拠した配布には向かない構成なので注意してください。

FLARToolKitの構造

FLARToolKitは、おおよそ下記の図の様な構造になっています。
(この図は本当に大まかな図で細かく書くともうちょっと違う図になります)

FLARToolKitの構造
FLARToolKitアプリケーション
 3D Libray(PV3D,Away3D...)
FLARToolKitflartoolkit.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 ライブラリプロジェクト]

Flash - Flash Builder スタートページ - Flash Builder

プロジェクト名FLARToolKitフォルダーC:\workspace_flartk\FLARToolKitと入力して[Finish]。

新規 Flex ライブラリプロジェクト

同様の手順で、FLARToolKit_PV3Dというライブラリプロジェクトを作成します。
プロジェクト名FLARToolKit_PV3DフォルダーC:\workspace_flartk\FLARToolKit_PV3Dと入力して[Next]。

新規 Flex ライブラリプロジェクト

この画面になったら、[プロジェクトの追加]ボタンをクリック。

新規 Flex ライブラリプロジェクト

FLARToolKitを選択して、[OK]

ライブラリプロジェクトの追加

こんな感じになったら、[Finish]ボタンをクリック。

新規 Flex ライブラリプロジェクト

次に必要なファイルをコピーしながら、不要な部分を削除したりします。
しかし、パッケージエクスプローラでは使いにくいので別のビューを使用します。

[ウィンドウ]->[他のビュー(V)…]をクリックして、下図のウィンドウを開きます。
そこから、[General]->[Navigator]をクリック。

Show View

追加されたら、使い易いように配置してください。
こちらは説明しやすいように全体に表示しています。

Flash - Flash Builder

まず、FLARToolKitのライブラリを作ります。
FLARToolKit_2_5_2プロジェクトの[libs]->[NyARToolKitAS3]->[src]内の[jp]フォルダをコピーして、FLARToolKitプロジェクトの[src]フォルダにコピーします。
次に、FLARToolKit_2_5_2プロジェクトの[src]内の[org]をコピーして、FLARToolKitプロジェクトの[src]フォルダにコピーします。

さらにもう一つ。[src]->[org]->[libspark]->[flartoolkit]と開いて、[support]フォルダを削除します。
このサポートクラスがあると、すべてのライブラリが必須となるためです。必要最低限のモノだけ別プロジェクトで追加します。

Flash - Flash Builder

これで、FLARToolKitのコアswcが作成できたので、PV3D用のライブラリを作成します。

FLARToolKit_2_5_2プロジェクトの[libs]->[Papervision3D]->[src]内の[nochump]と[org]フォルダをコピーして、FLARToolKit_PV3Dプロジェクトの[src]フォルダにコピーします。

Flash - Flash Builder

最後に、FLARToolKitのsupportをコピーしてからpv3d以外のライブラリを削除します。
最終的に下図のようになります。言葉で説明すると、FLARToolKit_2_5_2プロジェクトの[src]内の[org]をコピーして、FLARToolKit_PV3Dプロジェクトの[src]フォルダにコピーします。 それから、[support]以外を削除。さらに[support]内の[pv3d]以外を削除します。

Flash - Flash Builder

この手順以外にも方法はありますが、最終的に下記の図のようにしてください。

Flash - Flash Builder

これで準備完了です。
次回からサンプルソースコードを見ながら作成していきます。