2008年4月26日土曜日

blender - ファイルフォーマットを書き換えたい(17)

ついに軸が直りました!!!

軸がっていうか、全体的におかしかったんですが…。
ようやく頂点ブレンディングの座標変換が分かってきて、何とかなりました。



Blenderの座標系は

MeshObjectの座標系(頂点データがある) -> MeshのObjMat -> View(いつもモデリングしてる画面)の座標系 -> ArmatureのObjMat -> ArmatureObjectの座標系 -> ArmMat -> Editモードでの姿勢 -> ある時間でのPoseChannelのPoseMat -> あるボーンの姿勢 -> (*)

といった感じで、かなりややこしいです。アニメーションさせるときは、矢印(->)を全て逆に、つまり各種変換行列を逆行列にし、 (*) 部分に、さらに親のボーンの行列をRootまで掛けたものが入ります。

そのうち図にして、解説サイトでも作ろうかと思ってます。ちなみに、まだBlenderの座標系(左手系のyとzが入れ替わってるやつ)が全然分かってません。適当にやってたら出来たってレベル。まぁ出来ればいいってとで…。

---

まだ法線が変だったりしますが、BlenderのPoseシステムは、(多分)IKまで計算してくれてるようで、ミクも普通に動いてます。次は、ちゃんと確実にBlenderのキー時間を取得して吐く予定。これはBlenderのソース漁りまくってたら、それっぽいコードを見つけたので多分すぐ出来る。あと、行列キーじゃなくて、移動、回転、拡大縮小のキーで、うまく補間したアニメーションできるようにしたい。

0 件のコメント: