我们在使用unity开发游戏的过程中,只要提到游戏快进,暂停或者放慢的时候,我们第一时间想到的就是设置timeScale,但是我们在甚至timeScale后有哪些具体的参数发生变化,发生怎样的变化我们是否真正的了解呢?
我们通过下面的代码来进行测试,不想看过程只想看结论的也可以直接跳到最后面的总结.
using UnityEngine;
public class TimeScaleTest : MonoBehaviour
{
public float currentScale = 1;
private float _time;
//每次Update,LateUpdate,FixedUpdate的真实时间(不受timeScale影响的时间)
private float _updateTime;
private float _lateUpdateTime;
private float _fixedUpdateTime;
//timeScale x2
public void MulScale()
{
currentScale *= 2;
Time.timeScale = currentScale;
//Time.fixedDeltaTime *= 2;
_time = Time.realtimeSinceStartup;
}
//timeScale /2
public void DivScale()
{
currentScale /= 2;
Time.timeScale =<