Unity增量时间Time.deltaTime详解

您所在的位置:网站首页 时间叠加是什么意思 Unity增量时间Time.deltaTime详解

Unity增量时间Time.deltaTime详解

2024-06-17 16:52:15| 来源: 网络整理| 查看: 265

如博文无法正常显示,请访问原文地址: https://blog.csdn.net/ChinarCSDN/article/details/82914420

Unity增量时间详解

本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心分享、心创新!助力新手理解什么是 deltaTime 增量时间为新手节省宝贵的时间,避免采坑!

Chinar 教程效果:

简介:Update执行了1次,transform.Translate(0, 0, 1/60 * 10)执行一次,物体移动了1/6米Update1秒内执行了60次,就是transform.Translate(0, 0, Time.deltaTime * 10)乘以60次 相当于 =(每帧时间1/60 * 速度 * 60)=10米 Update1秒内执行了N次,就是transform.Translate(0, 0, Time.deltaTime * 10)乘以N次 相当于 =(每帧时间1/N * 速度 * N)=10米

文章目录 1 deltaTime —— 增量时间 2 Why? —— 为什么乘以增量时间 3 Wrong —— 误区 支持 May Be —— 搞开发,总有一天要做的事!

全文高清图片,点击即可放大观看 (很多人竟然不知道)

1 deltaTime —— 增量时间

deltaTime 官方的解释我就不说了

官方的解释多数新手都是看不懂的,不然也不会四处搜博文来学习了

?想要理解增量时间,我们拿物体的移动这种经典案例来说明

要让一个物体,每秒移动10米,代码如下 New举例子黑白88

/// /// 每帧刷新 /// void Update() { transform.Translate(0, 0, Time.deltaTime * 10); //物体沿着自身Z轴方向,每秒移动物体10米运动 } 2 Why? —— 为什么乘以增量时间

那么问题来了,多数新手都懵逼在这里: 为什么要乘以增量时间?

我们假设游戏运行时,1秒是60帧。—— 那就是说60个画面,刷!刷!刷!执行完,耗时1秒。

如果电脑,或者手机帧数没有到60帧,时而30帧,时而50帧

那么就会出现,有时候1秒移动了500米 有时候300米,总之每秒都不一样

所以牛逼的前辈们就想到了解决办法,从而引入了增量时间的概念

增量时间是实时变动的,而且每一帧都在变动

1秒30帧,那增量时间就是 1/30 秒 1秒60帧,那增量时间就是 1/60 秒 1秒166帧,那增量时间就是 1/166 秒

这样的设计理念,就保证了无论帧率是多是少,我们让物体1秒移动10米,最后1秒移动的就一定是10米

公式:路程=速度*时间 New举例子黑白88

10米=1秒 * 10米/秒 10米=(1/60 * 60) *10米/秒 10米=(1/166 * 166) *10米/秒 10米=(增量时间 * 1秒总帧数) *10米/秒

重点:

Update函数是每帧执行一次,那么经历过一帧耗费的时间就是 增量时间/deltaTime

1秒内Update执行的次数,就是1秒内执行的总帧数

所以我们只需要写上 transform.Translate(0, 0, Time.deltaTime * 10)这一个函数 New举例子黑白88 Update执行了1次,transform.Translate(0, 0, 1/60 * 10)执行一次,物体移动了1/6米

Update1秒内执行了60次,就是transform.Translate(0, 0, Time.deltaTime * 10)乘以60次 相当于 =(每帧时间1/60 * 速度 * 60)=10米

Update1秒内执行了N次,就是transform.Translate(0, 0, Time.deltaTime * 10)乘以N次 相当于 =(每帧时间1/N * 速度 * N)=10米

3 Wrong —— 误区

而大家都知道 Update 函数的调用,是很快的。在我们假定的情况下,这1秒就会被调用60次

而此时我们的代码transform.Translate(0, 0, 10)被执行60次

每执行一次,物体就会移动10米。60*10=600米,这完全违背了我们让物体每秒移动10米的初衷

公式:路程=速度*时间 New举例子黑白88 Update执行了1次,transform.Translate(0, 0, 10)执行一次,物体就已经移动了10米

Update1秒内执行了60次,就是transform.Translate(0, 0,10)乘以60次 相当于 =(10 * 60)=600米

Update1秒内执行了N次,就是transform.Translate(0, 0, 10)乘以N次 相当于 =(10 * N)=10N米

支持 May Be —— 搞开发,总有一天要做的事!

拥有自己的服务器,无需再找攻略! Chinar 提供一站式教程,闭眼式创建! 为新手节省宝贵时间,避免采坑!

先点击领取 —— 阿里全产品优惠券 (享受最低优惠)

1 —— 云服务器超全购买流程 (新手必备!) 2 —— 阿里ECS云服务器自定义配置 - 购买教程(新手必备!) 3—— Windows 服务器配置、运行、建站一条龙 ! 4 —— Linux 服务器配置、运行、建站一条龙 !

技术交流群:806091680 ! Chinar 欢迎你的加入

END

本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究 对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: [email protected] 对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭