2009年1月21日水曜日

etc - VMDMotionImporter超高速化

VMDMotionImporterを超高速化しました。

どのくらい高速化したかというと、、、3時間掛かってた星間飛行が15秒くらいになりました(笑

まだ、内部組込みは回転の計算が上手く行かなくて出来ていません・・・。

高速化といっても、元々ありえないくらい遅かったわけで、
どうせ内部でIPO再計算してるんだろ、と思ったら案の定
if (no_ipo_update==0)
 remake_action_ipos(・・・・・);

とかいうのがありました。

このno_ipo_updateとかいうフラグ、pythonから指定できたっけな?見落としていたかな?
・・と思い、日本語訳を見たら無かったんですが、最新版見たらありました。

でも、文字列置換の工程がウザイことに変わりないので、内部組込み版も、来月までには出来てるんではないかと。思います。

------------------------

といってる傍からボーンのモーション部分だけは何とか出来ました。
DirectXのヘルパ関数とか、BlenderのPythonがやってる計算を全部展開したんですが、恐ろしく面倒だった…。
そして、なんだかんだで出来てしまうのもまた怖い。クオータニオンとか実際全然分かって無いですよ(汗

ついでにカメラとか簡単そうだからやるかー、と思ったのが運の尽き。
中心位置と、中心からの回転と距離でカメラを決めてるのか・・・。
Blenderはカメラ中心だからなー。
また回転の計算かー。