纳金网

标题: Unity3D脚本中文教程2.36-3 [打印本页]

作者: 会飞的鱼    时间: 2012-5-27 01:00
标题: Unity3D脚本中文教程2.36-3
变量

◆ var inverse : Matrix4x4

描述:返回该矩阵的逆(只读)

如果用原始矩阵诚意逆矩阵结果为identity矩阵。

如果一些矩阵以一个特定的方式变换响亮,逆矩阵可以将他们变换回去。例如worldToLoclaMatrix和localToWorldMatrix是互逆的。

◆ var this[row : int,column : int]:float

描述:访问[row,column]处的元素。

row和column必须在0到3之间,矩阵是一个4x4的数组,你可以通过使用这个函数访问单个的元素。

注意标准数学符号-row是第一个索引。

◆ var this[index : int]:float

描述:按顺序索引存取元素(包括在0..15)

矩阵是一个4x4的数组,所以它的总数为16,。你可以使用一维索引来存取单个元素。index是row+column*4

◆ var transpose : Matrix4x4

描述:返回这个矩阵的转置(只读)。

转置矩阵是将原矩阵行列交换得到的(沿主对角线翻转)

函数

◆ function GetColumn(i : int):Vector4

描述:获取矩阵的一列。

第i列作为Vector4返回,i必须在0到3之间。

参见:SetColumn

◆ function GetRow(i : int):Vector4

描述:返回矩阵的一行。

第i行作为Vector4返回,i必须在0到3之间。

参见:SetRow

◆ function MultiplyPoint (v : Vector3):Vector3

描述:通过这个矩阵变换位置。

返回由任意矩阵变化得到的位置v。如果这个矩阵是一个正规的3D变换矩阵,使用MultiplyPoint3x4比它更快。MultiplyPoint是较慢的,但是能处理投影变换。

参见:MultiplyPoint,MultiplyVector。

◆ function MultiplyPoint3x4(v : Vector3):Vector3

描述:通过这个矩阵变换位置(快)。

返回由当前变换矩阵变换得到的位置v。这个函数是MultiplyPoint的快速版,但是它只能处理常规的3D变化。Multiplypoint是较慢的,但是能处理投影变换。

参见:MultiplyPoint,MultiplyVector。

◆ function MultiplyVector(v : Vector3):Vector3

描述:通过这个矩阵变换方向。

这个函数类似于MultiplyPoint,但它是变换方向而不是位置。变换方向时,只考虑矩阵的旋转部分。

参见:MultiplyPoint,MultiplyPoint3x4。

◆ function SectColumn(i : int,v:vector4):void

描述:设置矩阵的一列。

使用这个来构建一个变换矩阵,这个矩阵使用right,up和forward向量。

//从变换构建一个矩阵

var matrix = Matrix4x4();

//从变换构建一个矩阵

function Start ()

{

matrix.SetColumn (0, transform.right);

matrix.SetColumn (1, transform.up);

matrix.SetColumn (2, transform.forward);

var p = transform.position;

matrix.SetColumn (3, Vector4 (p.x, p.y, p.z, 1));

}

//设置第i列为v。i必须在0到3之间。

参见:GetColumn

◆ function SetRow(i : int,v:Vector4):void

描述:设置矩阵的一行。

设置第i行为v。i必须在0到3之间。




欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5