Unity腳本:Delta Time
- 詳細內容
- 分類:Unity
- 發佈:2014-05-13, 週二 22:26
- 點擊數:2903
Unity腳本:Delta Time
所謂的 Delta(google發音) 其代表的意義就是兩個值得差,
在time類別中的deltaTime屬性,指的就是每個update或是fixed update函式呼叫的時間差。
使用deltaTime可以讓移動或是其他逐漸增量計算的值變的滑順。
我們知道,每個禎間隔的時間並非是固定不變的,
所以,舉個例子來說,假如你每個禎用固定的距離來移動一個物件,
這很可能會導致整個移動的不平滑。
這是因為完成一個禎的時間是不相同的。
(維克:禎的間隔短移動相同距離,間隔長也移動相同距離==>不滑順)
假如你使用time.delta的話,
那較長的禎間隔,也會有較大的移動距離。
較短的禎間隔,就會有較小的移動距離。
可以讓個個移動看起來較為平滑。
一般我們會使用
speed * Time.deltaTime
來代表每禎應該移動的距離。
參考:http://unity3d.com/learn/tutorials/modules/beginner/scripting/delta-time
來自官網的簡單js範例:
#pragma strict public var speed : float = 8f; public var countdown : float = 3f; function Update () { countdown -= Time.deltaTime; if(countdown <= 0.0f) renderer.material.color = Color.red; if(Input.GetKey(KeyCode.RightArrow)) transform.position += new Vector3(speed * Time.deltaTime, 0.0f, 0.0f); }
官網教學:
按個讚!~支持本站!~
FB推薦載入中