FLARToolKit+Lightwave3Dの自分なりのまとめ
2010.3.2 情報が古くなっている可能性があります。
FLARToolkitにモデリングデータを読み込む場合は、Blenderを使用する方法がもっとも安価に出来るのですが、どうしてもBlenderのGUIに慣れることが出来なくて、参っていました。
僕は何か3Dのモデリングとかを趣味でするときは、Lightwave3Dを使用します。 Lightwave3Dからモデリングしたものを読み込みができて、 且つ、アニメーションデータも読み込めることを最近教えててもらったので、Blenderに別れを告げました。
FLARToolKitを使用したコンテンツを作りたくて、いろいろ勉強しているのですが、
Lightwave3D → → Papervision3D → → FLARToolKit
上記の各アプリをデータが流れていく上で座標が変わってしまいます。 下の画像は、Lightwave3Dで制作しているときの座標です。 立方体に座標のマップを貼って分かりやすくしてあります。(※画像喪失しました。)
モニタに向かって以下の座標の考え方で作成していきます。
上 ・・・・ +Y軸
下 ・・・・ Y軸
右 ・・・・ +X軸
左 ・・・・ -X軸
正面 ・・・・ +Z軸
奥 ・・・・ -Z軸
Lightwave3Dで制作しているときと同じ座標で読み込みたいのです。 むしろそうやって読み込まないとアニメーションColladaファイルを作るときに手間がかかるし混乱してしまうからです。
Papervision3Dから普通に読み込む
Papervision3Dで3Dモデルデータを読み込み、何も補正せずにFLARToolkitに乗せると以下のようになります。(画像喪失)[/caption] 上 : -Z軸 下: +Z軸 右 : +Y軸 左 : -Y軸 正面 : -X軸 奥 : +X軸 座標関連はSaqoosha.net :: FLARToolKit スタートガイドを参考にさせていただいています。
Lightwave3Dから普通に読み込む
次は、Lightwave3DからアニメーションColladaを作ってPapervisionに読み込みます。 Lightwave3Dから直接アニメーションColladaを書き出せればよいのですが、Papervisin3Dが読み込めるColldaのフォーマットではないっぽくて、Unwrap3Dというソフトをかませて読み込みます。Yellp Soupさんの記事を参考にさせていただきました。 というか、僕がやり方を知りたくて催促してしまいました。ありがとうございました。 LightwaveからColladaファイルを書き出すよ | Yellow Soup
Lightwave3D >> Unwrap3D >> Papervision3D >> FLARToolkitの工程を踏むと以下のように読み込まれます(画像喪失)。
Z軸が反転しちゃってます。 以上のことを踏まえて、ActionScript3で補正してやれば、Lightwave3DでアニメーションをつけるだけならFLARToolkit実装後の座標を気にせずに制作することが出来ます。
var daeCube:DAE = new DAE(true,null,true);
//Colladaファイル読み込み
daeCube.load("animCube.dae");
//補正
daeCube.rotationX = 90;
daeCube.rotationZ = 90;
無事にアニメーションColladaを読み込むことが出来ました。やっとこれで、安心して制作できるね。 デモ画像です。
FLARToolKit+Lightwave coordinates fixed
話は変わりますが、デスクトップキャプチャのベストプラクティスって何なのか、まだ全然分かりません。 デモ動画も、何らかのミスで縦横比がおかしくなっています。(横長になってしまった) AfterEffectの知識も増やしていかないとなーっと。 Flashやるとさまざまな知識が必要になるので、面白すぎです。 飽きが来ない。















