我有两个4x4 OPENGL矩阵 -
第一个矩阵保持对象在第0帧的旋转和位置。
第二个矩阵保持对象在第X帧的旋转和位置;
我想检索第0帧和第X帧之间对象的移动偏移, 如果我只减去它们就足够了(可能)吗?
CMatrix4x4 offsetMatrix = matrixAtFrameX - matrixAtFrame0;
我正在做的是每帧导出骨骼变换矩阵,其中此矩阵是动画的第0帧与第X帧之间的变换的偏移。
我可以减去两个矩阵吗?
结果如何?
答案 0 :(得分:9)
您需要将第x帧的矩阵与第0帧的矩阵的倒数相乘。
matrixOffset = inverse(matrixAtFrame0) * matrixAtFrameX
这将为您提供帧之间的相对变换和旋转。