Unity腳本:移動與旋轉
- 詳細內容
- 分類:Unity
- 發佈:2014-04-10, 週四 22:19
- 點擊數:3221
Unity腳本:移動與旋轉
在Unity中要移動與旋轉場景中的物件是相當簡單的。
首先要瞭解的是Transform元件。
在Unity場景中的每個物件都具有Transform元件。
Transform元件的主要功能就是用來儲存以及操作物件的位置、旋轉、及大小。
由於這個元件很常用,所以Unity很貼心的設計了一個簡寫:" transform "來代表這個元件。
這樣就不需要使用一般的GetComponent來取得Transform元件了。
我們在腳本中使用transform來代表該腳本所屬物件的Transform元件,
然後使用transform.Translate來進行移動,使用 transform.Rotate來進行旋轉。
複雜的就先撇開不說,來看看官網的簡單js範例:
#pragma strict public var moveSpeed : float = 10f; public var turnSpeed : float = 50f; function Update () { if(Input.GetKey(KeyCode.UpArrow)) transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime); if(Input.GetKey(KeyCode.DownArrow)) transform.Translate(-Vector3.forward * moveSpeed * Time.deltaTime); if(Input.GetKey(KeyCode.LeftArrow)) transform.Rotate(Vector3.up, -turnSpeed * Time.deltaTime); if(Input.GetKey(KeyCode.RightArrow)) transform.Rotate(Vector3.up, turnSpeed * Time.deltaTime); }
使用上下左右鍵來進行物件的移動以及旋轉,其中
Vector3.forward * moveSpeed * Time.deltaTime 的
Vector3.forward 代表的是正前方的方向
moveSpeed 代表移動速度,以米為單位,沒寫就是1m。
Time.deltaTime 代表幀的時間差,沒寫的話會變成每幀就跑1m,這差很多。
因為每個幀時間很短,假設是0.03s,那這個幀就只會移動0.03m。
而Rotate的Vector3.up代表以Vector3.up方向為旋轉軸。
官網教學:
按個讚!~支持本站!~
FB推薦載入中