Unity中的Matrix4x4類


     物體平移旋轉一般變換底層都是用矩陣來表示的,一般不會用到這個類。有時候需要一些世界坐標與局部坐標轉換的時候,可能就要用到了。

 1 //創建平移 旋轉 縮放矩陣 可以理解為一個坐標系(不知道對不對。。)
 2         Matrix4x4 mat = Matrix4x4.TRS(new Vector3(1,1,1),Quaternion.Euler(0,90,0),Vector3.one);
 3         //得到在這個坐標系點(2,2,2)在世界坐標系的坐標
 4         print(mat.MultiplyPoint(new Vector3(2,2,2)));
 5         //在世界坐標系點(2,2,2)在mat變換下的坐標
 6         //局部坐標*mat = 世界坐標
 7         //世界坐標*mat的逆 = 局部坐標
 8         print(mat.inverse.MultiplyPoint(new Vector3(2,2,2)));
 9         //MultiplyVector方法 感覺沒啥用
10         //把方向向量dir 做了一個旋轉
11         Vector3 dir = new Vector3(3,2,3);
12         print (mat.MultiplyVector (dir) == Quaternion.Euler (0, 90, 0) * dir);

    又一個大霧霾天.....


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM