思いつくままを綴る雑記帳

directX_anim_tools更新

新しいデータが来たので試してみたら・・・上手くデータを取り込めないようで・・・。
まぁ、よくあることですが・・・。
元々動作確認に使用していたデータはかなり古いもので全てのBoneに対して同数のアニメーションkeyが格納されている形式で作成されていたものなんです。
でも新しく来たデータは必要なアニメーションkeyのみが格納されている形式で作成されていました。
これが本来の形なんだけどね・・・。
以前は全てのkeyが存在していたのでアニメーションkeyのtimeを無視してフレーム位置からデータを取得していました。
処理を省略していたんです・・・面倒だしtimeを探すと処理時間が延びちゃうからね・・。
でも今回は正攻法でアニメーションkeyのtimeを参照するように変更しました。
これによってBoneによってアニメーションkeyの個数が異なるデータでも取り出せるようになりました。
但し不都合な事も出てきます。
アニメーションの中抜き処理で発生します。
指定されたフレーム番号のアニメーションkeyが存在しない場合にはそのBoneに対してそのフレームのkeyを設定しません。
存在する前後のkeyから該当フレームに対するkeyを生成してやれば可能ですがその算出方法はシステムによって異なっています。
元々その値が規定されていればデータ通りに挙動しますが異なっていればおかしな挙動になります。
それにBlenderは存在しないkeyに関しては自動的に補完してくれるので・・・おまかせみたいな・・・。
但し開始フレームでkeyが存在しない場合は基本位置が不明なので・・・・どうなるかはわかりません。

その他使用するデータによっては従来版のように読み込みに失敗することもあるかと思います。
テキストデータ形式なので記載方法は自由なので・・・全てのパターンには対処していません・・。
個人的なツールなので・・・悪しからず・・・。
というわけで・・・directX_anim_tools ver1.01を公開しています。
旧版のdirectX_anim_tools ver1.00も残していますが・・・。

directX_anim_tools ver1.01ではAnimTicksPerSecondセクションに基づいてFrame Rateも設定されます。
ダウンロードは4Shared又はMediaFireのBlenderのScripts関係のフォルダを参照。
>directX_anim_tools ver1.01ではAnimTicksPerSecondセクションに基づいてFrame Rateも設定されます。
これはBlenderのフレームスピードを自動的に変更しているということなので.xファイルの内容によってはアニメーションの実行速度が極端に遅い場合も有り得ます。
データを読み込んだらBlenderのフレームレートを確認した方がいいです。
スポンサーサイト

コメント

コメントの投稿

URL
コメント

パスワード
秘密
管理者にだけ表示を許可する

トラックバック

トラックバックURL : http://perfectcat.blog101.fc2.com/tb.php/282-98806b2f
<< SxxUGSでモデリングデータを読み込む | TOP | Bone Weights Copy について >>