unity3d的矩阵元素存储方式

      想知道u3d矩阵各个元素的存储方式,所以测试了一下

      Matrix4x4 m = Matrix4x4.TRS(new Vector3(1, 2, 3), Quaternion.Euler(0, 0, 30), new Vector3(1, 1, 1));
        for (int i = 0; i < 4; i++)
        {
            for (int j = 0; j<4; j++)
            {
                Debug.Log(m[i, j]);
            }
        }
        for (int i = 0; i < 16; i++)
        {
            Debug.Log(m[i]);
        }  

 

结果输出 0.866  -0.5   0   1    0.5  0.866 0 2  0  0   1  3   0  0  0  1

0.866  0.5 0   0     -0.5   0.866  0  0  0  0  1  0   1  2  3  1

从输出可以看到unity的矩阵采用矩阵左乘法,即向量用列向量表示, 也正是因为采用列向量表示,  矩阵的16个元素前面是个是第一列,然后是第二列,第三列和第四列。

你可能感兴趣的:(unity3d的矩阵元素存储方式)