Unity Transform常識(轉)

Variables
 
position: Vector3  物體在世界座標中的位置。 transform.position=Vector3(10,10,10)//把物體放到(x=10,y=10,z=10)的位置
 
localPosition: Vector3  相對位置,或自身位置,物體相對於父物體的位置。
 
eulerAngles: Vector3  軸向旋轉角度,相對於世界座標。單位爲度(°)
 
localPosition: Vector3 相對軸向旋轉角度,或自身的旋轉角度,物體相對於父物體的旋轉。通常使用和處理物體的旋轉角度時都會使用到這個數值。
 
right: Vector3  物體自身的紅色軸向(X軸)在世界座標中所指向的位置。注意在maya中x軸指向物體的左邊,而unity中的x軸則指向物體的右邊。rigidbody.velotity=transform.right*moveSpeed;//向物體的右側以moveSpeed的速度移動
 
up: Vector3  物體自身的綠色軸向(Y軸)在世界座標中所指向的位置。
 
forward: Vector3  物體自身的藍色軸向(Z軸)在世界座標中所指向的位置。
 
rotation: Quaternion  以四元數來表達的物體自身的旋轉。四元數能夠快速的處理物體的旋轉方向的計算,搭配Quaternion能夠用來計算各類須要的旋轉方案。具體應用方法參見Quaternion篇
 
localRotation: Quaternion 相對於父物體的用四元數來表達的旋轉。
 
localScale: Vector3 物體相對於父物體的縮放
 
parent: Transform 物體的父物體。若是沒有則返回null。若是改變父物體的位置,旋轉和縮放,會同時影響並改變子物體的位置,旋轉和縮放,可是保持相對位置,相對旋轉和相對縮放。
 
worldToLocalMatrix: Matrix4x4 一個表達從世界座標到相對座標位置的四維矩陣,Read Only。若是你對矩陣不是很瞭解,請使用Transform.InverseTransformPoint。
 
LocalToWorldMatrix: Matrix4x4 一個表達從相對座標到世界座標位置的四維矩陣,Read Only。若是你對矩陣不是很瞭解,請使用Transform.TransformPoint。
 
root: Transform  返回物體的最高層的父物體。若是物體自己就是最高層,則返回物體自己。
 
childCount: Int   返回物體的子物體數量。
 
lossyScale:Vector3 返回物體相對於世界座標的縮放值。 Read Only。沒什麼用的一個屬性,當子物體被旋轉後也不是特別精確,也不推薦你們用。若是想要計算物體的世界座標縮放,最好本身寫計算公式。
 
 
Functions
1)Translate,用來移動物體的函數,很是經常使用的一個函數。

function Translate (translation : Vector3, relativeTo : Space = Space.Self) : void

把物體向translation方向移動,距離爲translation.magnitude。 relativeTo表示這個移動的參考座標系。

function Translate (x : float, y : float, z : float, relativeTo : Space = Space.Self) : void

同上

function Translate (translation : Vector3, relativeTo : Transform) : void

若是relativeTo 不是null,則以目標物體relativeTo的自身軸向做爲參考座標系。

function Translate (x : float, y : float, z : float, relativeTo : Transform) : void

同上
 
腳本:
var speed=30;
 
//將物體以30米每秒的速度向前移動。
trasform.Translate(Vector3.forward*speed*Time.deltaTime);
 
 
2)Rotate,用來旋轉物體的函數,很是經常使用,在知道須要旋轉的角度的狀況下。若是要讓物體旋轉到指定位置,須要搭配Quaternion來使用。

function Rotate (eulerAngles : Vector3, relativeTo : Space = Space.Self) : void

旋轉eulerAngles度(3個軸向分別旋轉),以relativeTo爲參考座標系

function Rotate (xAngle : float, yAngle : float, zAngle : float, relativeTo : Space = Space.Self) : void

同上

function Rotate (axis : Vector3, angle : float, relativeTo : Space = Space.Self) : void

以axis爲軸旋轉angle度,以relativeTo爲參考座標系
 
3)RotateAround 讓物體以某一點爲軸心成圓周運動。

function RotateAround (point : Vector3, axis : Vector3, angle : float) : void

讓物體以point爲中心,繞axis爲軸向旋轉angle度。保持原來與point的距離。
 
4)LookAt 讓物體的z軸看向目標物體

function LookAt (target : Transform, worldUp : Vector3 = Vector3.up) : void

讓物體的z軸看向target的位置,並以worldUp爲y軸指向方向。

function LookAt (worldPosition : Vector3, worldUp : Vector3 = Vector3.up) : void

讓物體看向worldPosition
 
5)TransformDirection

function TransformDirection (direction : Vector3) : Vector3

返回以物體自身爲座標軸的向量direction在世界座標中的朝向向量。

function TransformDirection (x : float, y : float, z : float) : Vector3

同上
 
6)InverseTransformDirection

function InverseTransformDirection (direction : Vector3) : Vector3

function InverseTransformDirection (x : float, y : float, z : float) : Vector3

與TransformDirection相反,從世界座標轉換到自身相對座標。
 
7)TransformPoint

function TransformPoint (position : Vector3) : Vector3

function TransformPoint (x : float, y : float, z : float) : Vector3

把一個點從自身相對座標轉換到世界座標
 
8)InverseTransformPoint

function InverseTransformPoint (position : Vector3) : Vector3

function InverseTransformPoint (x : float, y : float, z : float) : Vector3

把一個點從時間座標轉換到自身座標的位置。
 
9)DetachChildren

function DetachChildren () : void

把自身全部的子物體的父物體都設成世界,也就是跟本身的全部子物體接觸父子關係。
 
10)Find

function Find (name : string) : Transform

找到一個名字是name的物體並返回
若是沒有找到則返回null。若是字符串被/隔離,函數則會像文件路徑同樣逐級下查。
 
// The magical rotating finger
function Update() {
aFinger = transform.Find("LeftShoulder/Arm/Hand/Finger");
aFinger.Rotate(
Time.deltaTime*20, 0, 0);
}
 
11)IsChildOf

function IsChildOf (parent : Transform) : bool

若是物體是parent的父子層級關係下的一員,返回true;
相關文章
相關標籤/搜索