さて、前回までの3つのエントリで、FLARToolKitのサンプルを改造してMetasequoiaファイルを表示出来ていると思うが、今までのサンプルは表示するモデルをハードコーディングしていて、モデルを動的に変更すると言う機能が無かった。そこでこの連載記事の最後として、サンプルを改造して外部で作成した任意のモデルを表示する機能を付けてみたいと思う。それが出来れば、自由度がかなり高まる。
で、そのために必要な変更は以下の2つ。
- モデルを外部から設定できるインタフェースを作成する
- サンプル自体ではなく、モデルを作って渡す側がメインクラスとなれるようにする
1つ目はすぐに分かると思うが、2つ目は意味が分からないかもしれないので少し説明する。
サンプルクラスは、ビルド時にメインクラスになる事を前提として作られている。そのため、メインクラスにしか存在しない変数を使ったり、サイズ(幅と高さ)が固定値で出来ている。が、メインクラスにしない場合、メインクラスにしか存在しない変数を使えば実行時エラーになるし、サイズは可変な方が便利に決まっている。その辺りを変えて行こうと言うわけだ。
ここまでやれば、誰かが、最近Papervisio3D(GreateWhite)に実装されたと言う「DAE Animation」をモデルとして使ってくれるだろう。間違いなく。
ちなみに、DAE Animationについてはこちらを参照して下され。
rev570でGreatWhiteにDAEアニメーションが実装されました。ASColladaの作者でPV3DのコミッターでもあるTim Knip氏がMLにポストしてくれたのでテスト。
[Papervision3D 2.0] DAE Animation (1) (TORIGOE DESIGN. doc)
(続きを読む…)