Unity腳本:Delta Time

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推薦載入中