您好,登錄后才能下訂單哦!
unity3d:Translate的使用與物體運動
首先我們來看看場景的搭建:建一個立方體,加一個點光源。我們要實現的就是讓場景中的立方體延X軸嗖嗖的移動。那么我們在Project新建一個js腳本Creat->Javascript。function Update () { transform.Translate(Vector3(1,0,0)); }
然后將js文件拖到Hierarchy面板的立方體上實現綁定。運行一下,我們可以看到,立方體不見了。修改代碼讓它慢一點。
function Update () { transform.Translate(Vector3(1,0,0)*Time.deltaTime); }
運行一下,慢慢的移動了。這是怎么回事呢。接下來我們一步一步的分解代碼。首先Update(),一直在用都明白怎么回事。
transform:場景中的每一個對象都有一個transform,用來儲存和控制物體的位置,旋轉和縮放。
Translate:是transform的函數,用來移動物體。它接受一個三維向量(Vector3)參數來移動。其實它還有第二個參數,就是按照自身坐標軸移動還是按照世界坐標軸移動。這里暫且不表。Unity3D教程手冊
Vector3:表示3D的向量和點。3個參數分別代表了向量x,y,z。
transform.Translate(Vector3(1,0,0));這句代碼的意思就是,讓被綁定的物體,也就是場景中的立方體,向x軸的方向移動1個單位.
Time.deltaTime:是一個時間增量,我想應該是這一幀的時間。像flash中的一秒30幀,每幀多少秒之類的。在這個程序中它的值是0.016左右。原本移動一個單位,現在乘以0.016,那肯定慢了。也就是說,它的作用其實就是減慢移動的速度。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。