Unity3d Time的使用

转载 2012年03月30日 15:04:49

Time类包含了一个重要的类变量deltaTime,它表示距上一次调用Update或FixedUpdate
所用的时间。
因此通过它可以让游戏对象按照一个常速进行旋转,而不是依赖于它的帧频:
function Update()
{
   tranform.Rotate(0, 5 * Time.deltaTime, 0);
}
 
同样地移动效果:
function Update()
{
   transform.Translate(0, 0, 2 * Time.deltaTime);
}
 
如果想要一个值根据每帧的变化而变化(增加或减少) ,你应该使用 Time.deltaTime来
乘以这个值。这样才能使得变化的效果依赖于单位时间,而不是帧频。这不仅使得游戏的运
行独立于帧频,也使得运动的效果符合现实。
同理,要让灯光的照射范围在每秒使半径增加 2个单位,可进行如下编码:
function Update()
{
   light.range += 2.0 * Time.deltaTime;
}
 
但是在通过force来处理rigidbody时,一般情况下不要乘以 Time.deltaTime,因为 Unity
引擎已经为你进行了处理

 

2

IEnumerator wait(int seconds){

  yield return new WaitForSeconds(seconds);

 }

StartCoroutine(wait(2));  // 在Update() 中调用好像无效

在JS中可以直接用 yield WaitForSeconds(3);

 

3 定时器的使用

  1. using UnityEngine;   
  2. using System.Collections;   
  3. public class NewBehaviourScript : MonoBehaviour {   
  4. // Use this for initialization   
  5. void Start () {   
  6.    InvokeRepeating("LaunchProjectile", 1,5);//1秒后调用LaunchProjectile () 函数,之后每5秒调用一次   
  7. }   
  8. // Update is called once per frame   
  9. void Update () {   
  10.    if (Input.GetButton ("Fire")) {   
  11.     CancelInvoke();   
  12.    }   
  13. }   
  14. void LaunchProjectile () {   
  15.    print("hello");   
  16. }   
  17. }  

 

Unity3D的Time类(UnityEngine.Time)详解

转载请注明出处! Time.time:(只读)表示从游戏开发到现在的时间,会随着游戏的暂停而停止计算。 Time.timeSinceLevelLoad:(只读)表示从当前S...

Unity3D里Time时间体系的讲解与运用

一.Time  变量    如下: time: 从游戏开始到现在所用的时间 readOnly timeSinceLevelLoad:这是以秒计算到最后的关卡已经加载完的时间 readOnly ...

Unity 3D - Time类

Unity 3D - Time类 :在Unity中可以通过Time类获取和事件相关的信息,可以用来计算帧速率,调整事件流逝速度等功能。Time类包含了一个重要的类变量deltaTime,它表示距上一次...

Time类里面time、deltaTime、fixedTime、fixedDeltatime的区别(Unity3d)

time是从程序开始执行到现在的时间,deltaTime上一帧完成的时间,fixedTime表示FixedUpdate已经执行的时间,而fixedDeltatime是一个固定的时间增量。 在upda...
  • yyeric11
  • yyeric11
  • 2014年10月09日 18:56
  • 12323

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

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

Unity 中 Update中使用 Time.deltaTime 和 FixedUpdate中使用Time.fixedDeltaTime

在Update中使用 Time.deltaTime,获取到的是这一帧的时间,如果游戏卡,帧率低,那这个值就大。如果游戏流畅,帧率高,这个值就小,Time.deltaTime = 1.0f / 帧率 ...

Unity Update 详解

这次我们项目中需要做战斗录像,为了保证逻辑都是按照精确时间调用,所有和时间相关的实例需要总的FixedUpdate调用过来。 当然如果是和物理相关,或者做类似保证按照对应的次数和时间调用,Fixed...

对Time.deltaTime的简单理解

Unity官方给出的描述是:按照秒来计数,完成最后一帧的时间(只读)。通常,使用这个函数来产生与游戏帧速率无关的效果。如果你加上或者减去一个值,那你很可能应该乘以Time.deltaTime.当你乘以...

Unity&C# Time时间相关

Unity&C#时间

Unity Time类详解

以下是从极客学院视频教程里的截图,详细的说明了Time下各个变量的表示和含义。...
  • yab4534
  • yab4534
  • 2015年07月09日 01:02
  • 10924
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Unity3d Time的使用
举报原因:
原因补充:

(最多只允许输入30个字)