2017-06

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

モーションブレンドの実装

SkinningSampleにはモーションブレンドみたいな機能はないので、新たに追加してみました。変更はAnimationPlayerだけでOKでした。必要なメンバー(boneTransformsとかcurrentClipあたり)をブレンド用にもう1組用意しておき、モーションブレンドが発生したら今までのデータをそちらに退避する。あとはUpdate内のUpdateBoneTransformを2回(ブレンドのため)実行して、結果をUpdateWorldTransformで合成しました。UpdateBoneTransformではメソッド内で使用しているメンバー変数は全部引数にして、数値型のものはref付けて参照渡しにしました。これでブレンド用のアップデート処理に対応できました。引数がすごい数になっちゃいましたが、まぁここでしか使わないので良いかなぁと思ってます。サンプルが少ないので本当に完成したのか微妙ですが、なんとか形になったので、良いテストデータが仕上がるまでは放置ということで。

んで、その辺の作業をやっているうちに一つ問題が。3Dツール上では秒間60フレームで1秒(60フレーム)のデータを出力したのですが、CurrentClipのdurationを見ると0.75秒になっているじゃないですか! 計算してみると秒間80フレーム計算になっているっぽい? Xファイルを除いてみるとその辺の設定が見当たらないし。確か、前に出力したときは『AnimTicksPerSecond』があったはずなのに…。しょうがないので昔のデータを見てみるとそちらには確かにある。なぜだ!? とりあえず新しいデータに追記してみた。

AnimTicksPerSecond {
3600;
}

これで秒間60フレームのデータになりました。よくわかんないですが…。元の数値は4800で秒間80フレームだったので、80で割ったところ60になりました。んで、秒間60フレームにしたかったので60を掛けてみたら3600になりました。やってみたらうまきいきました、と。人生行き当たりばったり、試したもん勝ちでしょうか。意味不明ですが。

● COMMENT FORM ●


管理者にだけ表示を許可する

トラックバック

http://karuduck.blog50.fc2.com/tb.php/18-deaeeee9
この記事にトラックバックする(FC2ブログユーザー)

NEW ENTRY «  | BLOG TOP |  » OLD ENTRY

プロフィール

Karu_gamo

Author:Karu_gamo
<メールアドレス>
karu_gamo#hotmail.co.jp
#を@に置き換えてえてください。

<自分リンク>
かるがも研究所【新】
YouTubeチャンネル
公開素材置き場
仕様書
旧ブログ(見るとこないです)
管理者ページ

リンク

YouTube動画

FC2カウンター

カテゴリー

Twitter

 

月別アーカイブ

RSSフィード

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。