7

私は2つの4x4 OPENGLマトリックスを持っています -

  • 最初の行列は、フレーム 0 でのオブジェクトの回転と位置を保持します。

  • 2 番目の行列は、フレーム X でのオブジェクトの回転と位置を保持します。

フレーム 0 と X の間のオブジェクトの移動オフセットを取得したいのですが、両方を差し引くだけで十分 (可能) ですか?

CMatrix4x4 offsetMatrix = matrixAtFrameX - matrixAtFrame0;

私がやっていることは、このマトリックスがアニメーションのフレーム 0 とフレーム X の間の変換のオフセットであるフレームごとのボーン変換マトリックスをエクスポートすることです。

  • 両方の行列を減算できますか?

  • 結果は?

4

1 に答える 1

13

フレームxの行列に、フレーム0の行列の逆行列を乗算する必要があります。

matrixOffset = inverse(matrixAtFrame0) * matrixAtFrameX

これにより、フレーム間の相対的な変換と回転が得られます。

于 2012-04-16T15:06:39.947 に答える