【杂谈】为什么游戏中的速度要乘以delta?

学博而后可约,事历而后知要。

一、真实世界中的小车

已知有一辆匀速前进的小车:

  1. 请尝试眨眼30次,限时一秒
  2. 请尝试眨眼60次,限时一秒
  3. 请思考,眨眼30次与眨眼60次后小车各走了多少路

请添加图片描述

二、游戏世界中的小车

  1. 同样眨眼30次,限时一秒,然而当你眨完眼,小车已经走到了真实世界第30秒才能走到的位置
  2. 同样眨眼60次,限时一秒,然而当你眨完眼,小车已经走到了真实世界第60秒才能走到的位置

请添加图片描述

三、问题的本质

游戏的工作方式是每秒钟渲染许多图像,每幅图像称为一帧,而且是循环进行的。我们用每秒帧数(FPS)来衡量一个游戏产生图像的速度。所以当游戏帧率(FPS)每秒计算60帧时,现实世界每经过一秒,游戏世界就经过60秒,即游戏里的一次刷新为现实世界中的一秒

真实世界游戏世界(30FPS)游戏世界(60FPS)
1秒30秒60秒

因此需要使用 delta 来平衡游戏与真实世界,表达式如下:

d e l t a = 1 / 刷新率 = 1 / F P S delta=1/刷新率=1/FPS delta=1/刷新率=1/FPS
这就是为什么引擎为我们提供了这个delta时间值,使我们的运动与我们的帧速率无关,从而 让游戏世界的时间流逝与现实时钟同步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ForBigData

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值