c# - Time.deltaTime 在 Unity 中执行的主要功能是什么?
问题描述
我正在 Unity 中学习游戏开发。我最近在从教程中学习的代码中获得了 Time.deltaTime 函数的结构。我已经搜索过它以获得更好的理解,但没有了解使用它的主要目的,因为它以专业的方式进行了解释。简而言之,我想要一些简单的解释。所以,我可以从中理解。
解决方案
Time.deltaTime 只是最后一帧和当前帧之间的时间(以秒为单位)。由于每帧调用一次 Update,Time.deltaTime 可用于以恒定速率发生某些事情,而不管(可能剧烈波动的)帧速率如何。
因此,如果我们只是obj.transform.position += new Vector3(offset, 0, 0);
在我们的更新函数中说,那么obj
将offset
在每帧 x 方向上移动一个单位,而不考虑 FPS。
但是,如果我们改为说obj.transform.position += new Vector3(offset * Time.deltaTime, 0, 0);
,那么我们知道obj
它将每秒移动offset
单位,因为每一帧它将移动与offset
该帧花费的时间相对应的部分。
推荐阅读
- python - QtCore.Signal 和 SIGNAL 有什么区别?
- tensorflow - 张量流中渐变胶带的问题
- java - 字符串类型的方法 repeat (int) 未定义
- makefile - Makefile 单独的头文件依赖
- python - pyarrow保存python对象
- sql - 如何在for循环中将以前的联合全部划分为多个插入
- javascript - 在Javascript中从下划线编写_.Memoize
- php - 错误:调用未定义的方法 GuzzleHttp\Client::request()
- python - 在 Python 中通过 A 列中的相同值组合多行
- python - 使用 Twisted Agent.request 和名称解析名称时结果不一致