using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour
{
public float speed = 10;
public float deltaTime, time;
private void Update()
{
//本帧时间 - 上一帧时间
//上一帧消耗时间
deltaTime = Time.deltaTime;
time = Time.time;
//该帧开始的时间(只读)。此为自游戏启动以来的时间(以秒为单位)。
//Time.time 是应用程序已运行的时间(以秒为单位)。它是只读的。
//应用程序在每帧开始时接收当前的 Time.time,该值按帧递增。每个帧的 time 调用将接收相同的值。在从 FixedUpdate 中调用时,将返回 Time.fixedTime 属性。
//应避免常规的(每帧)调用:Time.time 倾向于提供应用程序已经运行的时间长度,而不是每帧的时间。
//机器性能差/渲染量大 每帧执行间隔大 每秒渲染次数少(Update执行次数少) 希望 每次多旋转
//机器性能好/渲染量小 每帧执行间隔小 每秒渲染次数多(Update执行次数多) 希望 每次少旋转
//每帧沿Y轴旋转1度
transform.Rotate(0, 1, 0);
//如果Update执行次数少 那么deltaTime数值大
// 多 小
//总结:如果在Update中对物体做物理操作(移动/旋转/力)
//需要在速度上 乘以 每帧消耗时间,用以得到恒定的速度。
transform.Rotate(0, speed * Time.deltaTime, 0);
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour
{
public float speed = 10;
private void FixedUpdate()
{ //与Time.deltaTime无关
transform.Rotate(0, speed * Time.deltaTime, 0);
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewBehaviourScript1 : MonoBehaviour
{
public float speed = 10;
private void OnGUI()
{
if (GUILayout.Button("游戏暂停"))
{
Time.timeScale = 0;
}
if (GUILayout.Button("游戏继续"))
{
Time.timeScale = 1;
}
if (GUILayout.Button("慢动作"))
{
Time.timeScale = 0.1f;
}
/*
Time.timeScale
不影响渲染 所以 Update 执行间隔不受影响
影响物理更新 所以FidexUpdate执行间隔受间隔
Time.deltaTime 受影响
*/
}
public float deltaTime, unscaledDeltaTime, time, unscaledTime,c;
private void Update()
{ //游戏暂停后,受影响
unscaledDeltaTime = Time.unscaledDeltaTime;
c = Time.realtimeSinceStartup;
unscaledTime = Time.unscaledTime;
//游戏暂停后,受影响
deltaTime = Time.deltaTime;
time = Time.time;
//如果希望游戏暂停后,当前物体不受影响
transform.Rotate(0, speed * Time.unscaledDeltaTime, 0);
}
private void FixedUpdate()
{ //游戏暂停后,受影响
//transform.Rotate(0, speed * Time.deltaTime, 0);
}
}
Time类
从Unity获取时间信息的接口
常用属性
time :从游戏开始到现在所用时间。
timeScale :时间缩放。
deltaTime :以秒为单位,表示每帧的经过时间。
unscaledDeltaTime :不受缩放影响的每帧经过时间。