码迷,mamicode.com
首页 > 编程语言 > 详细

unity3d Time.deltaTime个人理解

时间:2019-11-11 18:12:03      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:span   渲染   code   地方   个人   form   速度   只读   运动   

官方的解释是:静态只读属性,时间增量,渲染上一帧所花费的时间
看下面的代码

    /// <summary>
    /// 每帧刷新
    /// </summary>
    void Update()
    {
        transform.Translate(0, 0, Time.deltaTime * 10); //物体沿着自身Z轴方向,每秒移动物体10米运动
    }

这个方法所用的公式很简单:距离=时间*速度

我读官方解释的时候,有点迷惑,既然是渲染上一帧的时间,说明帧已经渲染完毕,那么计算出来的坐标,已经不能用在上一帧里面。这个过程是怎样的呢?从头设想:一开始,渲染的是初始帧,假设用的时间为t1,那么现实世界中物体移动的距离是t1*10,但是,我们只是看到了物体停留在初始位置。接着渲染第二帧,将刚才计算出来的坐标用于第二帧的渲染。假设渲染用时t2,那么现实世界中物体移动的距离是t2*10。但是,我们只是看到了物体经过时间t1后所在位置,而当前时间已经过了t1+t2。也就是说,我们看到的画面是滞后的

当然,以上纯属个人猜测,本人初学unity 3d,有不对的地方还待指正

unity3d Time.deltaTime个人理解

标签:span   渲染   code   地方   个人   form   速度   只读   运动   

原文地址:https://www.cnblogs.com/drew/p/11837089.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!