mkm形式の初期値

ousttrue2009-04-05

mkmの読み込み結果からクォータニオン適用をはじめようと思ったのだが
まだ仕様が不明確な要素があった。


まず、Quaortenionの4つの要素が実部->虚部の順に並んでいるのか虚部->実部の順に並んでいるのかわからん。
試しに二つの棒をつないだだけのモデルを作ってパラメータの変化しらべてみたところ
ボーンをZ軸に重ねたときにQuaternionの4つの値がほぼ(0, 0, 0, 1)となった。
虚部->実部に確定。


次に大の字状態での、
各ボーンの始点を親ボーンのローカル座標位置に変換することと
その時の関節の初期回転値を算出する必要があるがどういう
法則になっているのかわからん。


これに関しては、ルートボーンがZ値の+方向を向いているときにQuarternionがほぼ(0, 0, 0, 1)と
なったので、おそらく親階層のZ軸を基準にしてやればよいと思われる。
ルートボーンから順番に子ボーンの始点をローカル座標からの相対座標に変換してやることにしよう。
動きを見ながら辻褄を合わせていかざるを得ないようだ。