在脚本中通常用Vector3、Quaternion、Transform等类的属性和方法来对物体进行交换,Matrix4x4类通常用在一些比较特殊的地方,如对摄像机的非标准投影变换。
Matrix4x4类实例方法
在Matrix4x4类中,涉及的实例方法有MultiplyPoint方法、MultiplyPoint3x4方法、MultiplyVector方法和SetTRS方法。
MultiplyPoint方法:投影矩阵变换
基本语法
public Vector3 MultiplyPoint(Vector3 v);
功能说明:此方法的功能是用来对点v进行投影矩阵变换。
MultiplyPoint3x4:矩阵变换
基本语法
public Vector3 MultiplyPoint3x4(Vector3 v);
功能说明
此方法的功能是用来对参数值点v进行矩阵变换
MultiplyVector方法:矩阵变换
基本语法
public Vector3 MultiplyVector(Vector3 v);
功能说明
此方法的功能是用来对方向向量v进行矩阵变换
SetTRS方法:重设Matrix4x4变换矩阵
基本语法
public void SetTRS(Vector3 pos ,Quaternion q ,Vector3 s);
其中参数pos为位置向量,参数q为旋转角,参数s为放缩向量
功能说明
此方法用来重设Matrix4x4变换矩阵
Matrix4x4类静态方法
在Matrix4x4类中,涉及的静态方法有Ortho方法、Perspective方法和TRS方法。
Ortho方法:创建正交投影矩阵
基本语法
public static Matrix4x4 Ortho(float left ,float right ,float bottom ,float top , float zNear ,float zFar);
其中参数left为正交视口左边边长,参数right为正交视口右边边长,参数bottom为正交视口下部边长,参数top为正交视口上部边长,参数zNear为近视口距离,参数zFar为远视口距离
功能说明:此方法的功能是创建一个正交投影矩阵。
Perspective方法:创建透视投影矩阵
基本语法
public static Matrix4x4 Perspective(float fov ,float aspect ,float zNear ,float zFar);
其中参数fov为视口夹角,参数aspect为视口纵横比例,参数zNear为近视口距离,参数zFar为远视口距离。
功能说明
此方法的功能是创建一个透视投影矩阵。
TRS方法:返回Matrix4x4实例
基本语法
public static Matrix4x4 TRS(Vector3 pos ,Quaternion q ,Vector3 s);
其中参数pos为位置向量,参数q为旋转角,参数s为放缩向量
功能说明:此方法使用pos、q和s作为变换参数返回一个Matrix4x4实例。