ボーンスキンを実装したときのメモ

確認1

メッシュとボーンを表示して階層の行列が正しいか確認する。この時の姿勢はバインドポーズで行うとわかりやすい。

確認2

バインドポーズ行列の逆行列を使ってローカル座標にもどしたときに正しくローカル座標系に戻っているか確認する。

確認3

ローカル座標からワールド座標への変換が正しくできているならば元の姿勢が表示されるはず。なぜなら行列とその逆行列を乗算すると単位行列になるから。

バインドポーズの逆行列 * ワールド座標系への変換行列 = 単位行列

これを影響するボーンの数だけ繰り返す。

結論

v' = Σ(w Mt iMb Ml v)
記号 説明
変換後の頂点
w ウェイト値
Mt 現在の姿勢行列
iMb バインドポーズ姿勢行列の逆行列
Ml 現在のリンク先姿勢行列
v 変換前の頂点