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

关于Unity中Time.deltaTime的使用

时间:2017-07-30 11:30:20      阅读:370      评论:0      收藏:0      [点我收藏+]

标签:坐标   表示   oid   unit   执行   tor   中间   理解   nbsp   

例子

void Update () {
  this.transform.Rotate(Vector3.up, Time.deltaTime * 50, Space.World);
  //绕世界的y轴旋转,1秒钟转50度,Space.World是让它绕世界坐标系的y轴旋转,没写的话会绕它自己坐标系的y轴旋转
  //显然,Time.deltaTime是按照每秒来统计的。 Update()的刷新是按照每帧来显示的,但是Time.deltaTime是按照秒来统计的。
  //我的理解是我们这里只设置它1秒钟,也就是1个Time.deltaTime转多少度,系统会帮我们计算每一帧该转多少度(除于当前秒的帧数,如流畅时候60),然后每次update的时候都转这个它自己计算好的角度
}

 

 

还可以这样理解

Time.deltaTime * 50
表示1秒要转动多少角度,我们设置好以后,这个值就定下来了,也就是说,不管中间刷新几次,执行几次Update函数,最终的结果就是在1秒钟内,物体绕y轴旋转了50度。
而具体中间刷新了几次,执行了几次Update则是受电脑性能的影响,性能好的话可以达到60次,性能不好的话可能只有30次。
然而,刷新60次的效果就会看起来很流畅,而刷新30次的效果就会看起来很卡,像是漂移过去的。
但是不管过程怎么样,结果都是一样的,系统会帮我们计算每一秒能刷新多少次,也就是每一秒有几帧,然后帮我们把Time.deltaTime * 50除于每秒的帧数,得到每一帧该旋转的角度数,给Update里面的语句执行。
所以,其实每一帧的旋转的度数不是一定的,会随着帧频的改变而改变,而帧频又受各种硬件因素和其他因素的影响会不断变化。

 

关于Unity中Time.deltaTime的使用

标签:坐标   表示   oid   unit   执行   tor   中间   理解   nbsp   

原文地址:http://www.cnblogs.com/HangZhe/p/7258290.html

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