最近在寫一個骨骼動畫系統及3dmax插件。
總結下有幾點需要注意的地方
1 d3d用的是左手座標系統,一般旋轉是順時針(俯視) 如:D3DXRoation....Y(); 點是左乘的P*[],矩陣是以行來存儲
2 Opengl用的是右手座標系統,一般旋轉的是逆時針(俯視)glRoation....Y(), 點是右乘的[]*p,且矩陣是以列來存儲
3 3Dmax用的是右手座標系統,但是Y和Z是互換的,旋轉是逆時針的RoationY(). 點是左乘的p*[],且矩陣是以行來存儲的
實際左右座標系統,只是旋轉角度相反而已,哈哈,其他不用過多考慮
因此在倒出骨骼關鍵楨時,只把旋轉矩陣取反就可以,然後用四元數插值