骨のアニメーション-行列と計算
プロジェクトの完了に関しては、最終段階にありますが、アニメーションシステムを実装する直前です。 クライアントは「ボーンアニメーション」を選択することにしました。つまり、このアニメーション化されたオブジェクトが持つすべてのフレームとすべてのボーンに対して、各変換マトリックス(matrix4x4 rotation + translation)をエクスポートする必要があります。 ゲーム内のオブジェクトは3DS Max Physiqueモディファイヤでアニメーション化されているため、頂点ごとにボーン/ウェイトデータがあります。しかし、この件について少し理解するために、ここでは説明を簡略化します。 この投稿を2つのポイントに分割します。 すべてのフレームのボーンマトリックスのエクスポート 後のアニメーションの目的でボーンの位置をエクスポートする正しい方法について扱います。この場合、このボーンの影響を受けるすべての頂点をフレームXのボーンの位置に「移動」および「回転」する必要があります。 最終的な頂点位置の計算 フレームXのボーン変換に従って新しい頂点位置を計算するために、適切な行列演算について扱います。 1.フレームごとにボーンマトリックスをエクスポートする アニメーション化されたオブジェクトをエクスポートするときに、次のことを行う必要があることを正しく理解していますか? フレーム0でBONE変換行列を取得し、この行列を反転します FRAMExでBONE変換行列を取得 1 * 2を乗算して、FRAMExでのBONEの変換オフセットを取得します [pseudocode] // Animation export // For each frame, export bone transformation offset for(int iFrame = 0; iFrame < vFrames.size(); iFrame++) { // For every bone in the object for(int iBone …