Unity中Time.deltaTime的含义及其应用

相信Unity的开发者或者初学者都对Time.deltaTime并不陌生,我们经常会在代码中用到或者看到它,今天去官方的API文档查了一下,感觉它非常有用,所以翻译一下以引导初学者。
原文网址:
file:///Applications/Unity/Unity.app/Contents/Documentation/html/en/ScriptReference/Time-deltaTime.html

技术分享

Unity官方给出的描述是:按照秒来计数,完成最后一帧的时间(只读)。通常,使用这个函数来产生与游戏帧速率无关的效果。

如果你加上或者减去一个值,那你很可能应该乘以Time.deltaTime。当你乘以它以后,你实质上的表达是:我想让这个物体以每秒钟10米的速度移动而不是每帧10米。

当从MonoBehavior的FixedUpdate中调用的时候,返回的帧速率增量时间。

请注意,在OnGUI中你不应该依赖Time.deltaTime,因为OnGUI有可能在一帧中被多次调用并且每次deltatime的值都是相同的,直到下一帧刷新。

请看官方的示例代码:

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Update() {
        float translation = Time.deltaTime * 10;
        transform.Translate(0, 0, translation);
    }
}

注:英文水平有限,发现问题请大家与我联系。

2015.4.22 18:47
By Mr.Losers

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。