DeltaTime详解

由于不同的电脑性能不同,所以不同的电脑当在打游戏时每秒的帧率也不一样,那当然性能好的帧率就高。
在游戏代码编写中常会在每帧调用类似 translate(vec3(0,0,1))来控制角色的移动或者什么。即每帧移动1个单位, 而好的电脑每秒有30帧,那就是30单位/s, 劣质电脑每秒5帧,那就是 5单位/s,显然玩游戏时不公平。

delta其实就是数学符号△ ,deltaTime即△t

所以我们可以使用 translate(vec3(0,0,1))*deltaTime来达到每秒移动相同距离。deltaTime存储的时一帧所花费的时间,如每秒20帧,那么deltaTime就是 1/20 s, 那么就是一帧移动1/20个单位,那么一秒就是移动 1/20 * 20 = 1 个单位。 同理性能30帧的电脑 每秒移动的距离也是 1/30 30 = 1单位 。
这样不同性能的电脑每秒移动的距离就会一样了。尽管电脑每帧所花费的时间可能是不同的,但实际乘上deltaTime后每秒移动距离还是一样的,可以自行思考一下
当然并不是所有的都需要乘deltaTime, 要具体问题具体分析

你可能感兴趣的:(笔记,3d,unity,游戏引擎,opengl)