link:
transform 變換,是場景中最常打交道的類,用於控制物體的位移,旋轉,縮放等功能。
transform
class, inherits from component, ienumerable
position, rotation and scale of an object.
控制物體的位置,旋轉和縮放。
// moves all transform children 10 units upwards!
for (var child : transform in transform)
每乙個場景中的物體都有transform這個類,他是用來儲存和處理物體的位移,旋轉和縮放的。每乙個transform都可以有乙個父物體,這可以讓你得到下游節點的位移旋轉和縮放。這個層次結構關係可以從hierarchy面板中看到。他還支援enumerators,以使用迴圈來遍尋所有的子節點。
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,用來移動物體的函式,非常常用的乙個函式。
把物體向translation方向移動,距離為translation.magnitude。 relativeto表示這個移動的參考座標系。
同上如果relativeto 不是null,則以目標物體relativeto的自身軸向作為參考座標系。
同上
指令碼:var speed=30;
//將物體以30公尺每秒的速度向前移動。
trasform.translate(vector3.forward*speed*time.deltatime);
2)rotate,用來旋轉物體的函式,非常常用,在知道需要旋轉的角度的情況下。如果要讓物體旋轉到指定位置,需要搭配quaternion來使用。
旋轉eulerangles度(3個軸向分別旋轉),以relativeto為參考座標系
同上
以axis為軸旋轉angle度,以relativeto為參考座標系
3)rotatearound 讓物體以某一點為軸心成圓周運動。
讓物體以point為中心,繞axis為軸向旋轉angle度。保持原來與point的距離。
4)lookat 讓物體的z軸看向目標物體
讓物體的z軸看向target的位置,並以worldup為y軸指向方向。
讓物體看向worldposition
5)transformdirection
返回以物體自身為座標軸的向量direction在世界座標中的朝向向量。 同上
6)inversetransformdirection
與transformdirection相反,從世界座標轉換到自身相對座標。
7)transformpoint
把乙個點從自身相對座標轉換到世界座標
8)inversetransformpoint
把乙個點從時間座標轉換到自身座標的位置。
9)detachchildren
把自身所有的子物體的父物體都設成世界,也就是跟自己的所有子物體接觸父子關係。
10)find
找到乙個名字是name的物體並返回
如果沒有找到則返回null。如果字串被/隔離,函式則會像檔案路徑一樣逐級下查。
// the magical rotating finger
function
update()
11)ischildof
如果物體是parent的父子層級關係下的一員,返回true;
transform函式的應用
transform函式的作用是 將某操作應用於指定範圍的每個元素。transform函式有兩個過載版本 transform first,last,result,op first是容器的首迭代器,last為容器的末迭代器,result為存放結果的容器,op為要進行操作的一元函式物件或sturct cl...
transition和transform的相關知識
功能 實現元素不同狀態之間的平滑過渡。之前 元素 hover狀態 直接切換,從開始狀態到結束狀態,瞬間完成,中間過程幾乎無法檢視。格式 transition 過渡的屬性 完成時間 s 運動曲線 延遲時間 數值型的屬性才可以設定過渡。width,height,color,font size trans...
transform基本轉換應用2D
最近在折騰transform,其實不想寫啥的,但看在忙活的一天多的份上就簡單寫一下額。ps 只作為記錄,語言表達能力有限 transform常用的幾個值 translate 偏移 scale 縮放 skew 拉伸 傾斜 rotate 旋轉 ps 這幾個值都比較好理解,只要記得用到的座標軸y軸是向下的...