Unity 自带的一些可以操控时间的属性或方法。
今天来总结下Unity自带的一些可以操控时间的方法。
1、Time.time。比较常用计算运行时间而触发特定事件。
public class Controller : MonoBehaviour
{public float eventTime = 5f; // 触发事件的时间private float startTime; // 游戏开始的时间private void Start(){startTime = Time.time; // 记录游戏开始的时间}private void Update(){if (Time.time - startTime >= eventTime){// 达到触发事件的时间,执行特定事件DoSomething();}}private void DoSomething(){// 特定事件Debug.Log("Event triggered!");}
}
2、Time.deltaTime,参考这篇笔记:关于Unity Time.deltaTime的理解和使用-CSDN博客
3、WaitForSeconds,协程。延时最适合。
public class Controller : MonoBehaviour
{ private void Start(){StartCoroutine(DelayCoroutine());}private IEnumerator DelayCoroutine(){ yield return new WaitForSeconds(1f);Debug.Log("我延迟了1秒"); }
}
4、Time.timeScale,这个属性可用于控制游戏的时间流逝速度。将其设置为1表示正常速度,大于1表示加速,小于1表示减速,设置为0表示暂停。如下面模拟加减速的一个案例:
using UnityEngine;
using UnityEngine.UI;public class Controller : MonoBehaviour
{public float accelerationTime = 1f; // 加速时间public float decelerationTime = 1f; // 减速时间public float pauseTime = 1f; // 暂停时间public Image image; // 图片对象private float targetTimeScale = 1f; // 目标时间缩放值private float currentTimeScale = 1f; // 当前时间缩放值private float timeScaleVelocity; // 时间缩放值的变化速度private float rotationSpeed = 500f; // 图片旋转速度private int currentState = 0; // 当前状态,0表示加速,1表示减速,2表示暂停private float stateTimer = 0f; // 状态计时器private void Update(){// 根据目标时间缩放值逐渐调整当前时间缩放值currentTimeScale = Mathf.SmoothDamp(currentTimeScale, targetTimeScale, ref timeScaleVelocity, GetTimeScaleChangeDuration());// 应用当前时间缩放值Time.timeScale = currentTimeScale;// 根据当前时间缩放值调整图片的旋转角度image.rectTransform.Rotate(Vector3.forward, rotationSpeed * Time.deltaTime * currentTimeScale);// 更新状态计时器stateTimer += Time.deltaTime;// 根据当前状态和状态计时器切换目标时间缩放值switch (currentState){case 0: // 加速状态if (stateTimer >= accelerationTime){stateTimer = 0f;targetTimeScale = 0.5f; // 切换到减速状态currentState = 1;}break;case 1: // 减速状态if (stateTimer >= decelerationTime){stateTimer = 0f;targetTimeScale = 0f; // 切换到暂停状态currentState = 2;}break;case 2: // 暂停状态if (stateTimer >= pauseTime){stateTimer = 0f;targetTimeScale = 2f; // 切换到加速状态currentState = 0;}break;}}private float GetTimeScaleChangeDuration(){if (targetTimeScale > currentTimeScale){return accelerationTime; // 如果目标时间缩放值大于当前时间缩放值,则返回加速时间}else{return decelerationTime; // 如果目标时间缩放值小于当前时间缩放值,则返回减速时间}}
}
Unity模拟加减速_哔哩哔哩_bilibili
5、Time.fixedDeltaTime,物理模拟的固定时间步长。

在Project Settings中Time的Fixed Timestep可设置它的值。
Time.fixedDeltaTime跟Time.deltaTime最大的区别是Time.fixedDeltaTime不受帧率影响,它的时间是固定的。
相关文章:
Unity 自带的一些可以操控时间的属性或方法。
今天来总结下Unity自带的一些可以操控时间的方法。 1、Time.time。比较常用计算运行时间而触发特定事件。 public class Controller : MonoBehaviour {public float eventTime 5f; // 触发事件的时间private float startTime; // 游戏开始的时间private void Start(){startT…...
vue 项目中使用 mqtt
1、在html 中用cdn方式引入 <script src"https://unpkg.com/mqtt/dist/mqtt.min.js"></script> 2、封装代码 mqtt_connect.js // import * as mqtt from mqtt/dist/mqtt.min // 不知道为什么 我用引入的方式不成,就在html 用的cdn方式接入了…...
linux shell操作 - 05 进程 与 IO 模型
文章目录 计算机内存分配进程与子进程流IO模型非阻塞IOIO多路复用网络IO模型简单的socket并发的socket 计算机内存分配 一个32位,4G内存的计算机,内存使用分为两部分: 操作系统内核空间;应用程序的用户空间使用的操作系统不同&a…...
让SOME/IP运转起来——SOME/IP系统设计(下)之数据库开发
上一篇我们介绍了SOME/IP矩阵的设计流程,这一篇重点介绍如何把SOME/IP矩阵顺利的交给下游软件团队进行开发。 车载以太网通信矩阵开发完成后,下一步应该做什么? 当我们完成SOME/IP矩阵开发,下一步需要把开发完成的矩阵换成固定格…...
Mybatis反射工厂类DefaultReflectorFactory
DefaultReflectorFactory是反射工厂接口ReflectorFactory的默认实现,其主要是实现了对反射对象Reflector的创建和缓存。 有三个方法: // 判断是否开启缓存boolean isClassCacheEnabled();// 设置是否缓存void setClassCacheEnabled(boolean classCacheEn…...
antDesignPro a-table样式二次封装
antDesignPro是跟element-ui类似的一个样式框架,其本身就是一个完整的后台系统,风格样式都很统一。我使用的是antd pro vue,版本是1.7.8。公司要求使用这个框架,但是UI又有自己的一套设计。这就导致我需要对部分组件进行一定的个性…...
找免费4K高清图片素材,就上这6个网站
使用图片素材怕侵权?那就上这6个网站,免费下载,4K高清无水印,赶紧收藏起来~ 1、菜鸟图库 https://www.sucai999.com/pic.html?vNTYxMjky 一个很大的素材库,站内主要还是以设计素材为主,像图片素材就有上百…...
代码随想录算法训练营第35天| 860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球
JAVA代码编写 860.柠檬水找零 在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。 每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须…...
成为AI产品经理——TPR、FPR、ROC、AUC
目录 一、PR图、BEP 1.PR图 2.BEP 二、灵敏度、特异度 1.灵敏度 2.特异度 三、真正率、假正率 1.真正率 2.假正率 三、ROC、AUC 1.ROC 2.AUC 四、KS值 一、PR图、BEP 1.PR图 二分类问题模型通常输出的是一个概率值,我们需要设定一个阈值ÿ…...
java: Internal error in the mapping processor: java.lang.NullPointerException
启动java项目出错,其他人工程没有问题,别着急。 java: Internal error in the mapping processor: java.lang.NullPointerException at org.mapstruct.ap.internal.processor.DefaultVersionInformation.createManifestUrl(DefaultVersionInformation.j…...
TCP知识点
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层协议,广泛应用于互联网。下面是TCP的一些知识点: TCP是一种可靠的协议,采用三次握手建立连接和四次挥手断开…...
大语言模型(LLMs)在 Amazon SageMaker 上的动手实践(一)
本期文章,我们将通过三个动手实验从浅到深地解读和演示大语言模型(LLMs),如何结合 Amazon SageMaker 的模型部署、模型编译优化、模型分布式训练等。 实验一:使用 Amazon SageMaker 构建基于开源 GPT-J 模型的对话机器…...
顶级数据恢复工具—— 最全的15个数据恢复软件榜单
在这个信息为王的数字时代,关键数据的丢失对个人和企业来说都可能是灾难性的。无论是由于意外删除、硬件故障还是恶意攻击,拥有强大的数据恢复解决方案都是至关重要的。在本综合指南中,我们将探索市场上最好的数据恢复软件,包括顶…...
【图像分类】【深度学习】【Pytorch版本】Inception-ResNet模型算法详解
【图像分类】【深度学习】【Pytorch版本】Inception-ResNet模型算法详解 文章目录 【图像分类】【深度学习】【Pytorch版本】Inception-ResNet模型算法详解前言Inception-ResNet讲解Inception-ResNet-V1Inception-ResNet-V2残差模块的缩放(Scaling of the Residuals)Inception-…...
Ubuntu 22.03 LTS 安装deepin-terminal 实现 终端 分屏
deepin-terminal 安装 源里面自带了这个软件,可以直接装 sudo apt install deepin-terminal 启动 按下Win键,输入deep即可快速检索出图标,点击启动 效果 分屏 CtrlShiftH 水平分割 CtrlShiftJ 垂直分割 最多分割成四个小窗口࿰…...
HTTP协议,Web框架回顾
HTTP 请求协议详情 -请求首行---》请求方式,请求地址,请求协议版本 -请求头---》key:value形式 -referer:上一次访问的地址 -user-agenet:客户端类型 -name:lqz -cookie&…...
el-checkbox 对勾颜色调整
对勾默认是白色 改的时候一直在试着改color人,其实不对。我用的是element ui 的复选框 /* 对勾颜色调整 */ .el-checkbox__inner::after{/* 是改这里的颜色 */border: 2px solid #1F7DFD; border-left: 0;border-top: 0;}...
系统管理精要:深度探索 Linux 监控与管理利器
前言 系统管理在 Linux 运维中扮演着至关重要的角色,涵盖了系统的配置、监控和维护。了解这些方面的工具和技术对于确保系统稳定运行至关重要。本文将着重介绍系统管理的关键部分,包括配置系统、监控系统状态和系统的日常维护,并以 top 和 vm…...
vue3之echarts渐变柱状图
vue3之echarts渐变柱状图 效果: 核心代码: <template><div class"abnormal"><div class"chart" ref"chartsRef"></div></div> </template><script setup> import * as echa…...
有一种浪漫,叫接触Linux
大家好,我是五月。 嵌入式开发 嵌入式开发产品必须依赖硬件和软件。 硬件一般使用51单片机,STM32、ARM,做成的产品以平板,手机,智能机器人,智能小车居多。 软件用的当然是以linux系统为蓝本,…...
如何用GetQzonehistory完整备份你的QQ空间记忆:告别数据丢失的终极解决方案
如何用GetQzonehistory完整备份你的QQ空间记忆:告别数据丢失的终极解决方案 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾担心那些记录着青春岁月的QQ空间说说会随…...
用DDRNet-23-slim在RTX 3060笔记本上搞定细胞图像分割:从数据标注到模型测试的完整避坑记录
在RTX 3060笔记本上实现细胞图像分割:DDRNet-23-slim实战全流程解析 当我在生物实验室第一次看到显微镜下的细胞图像时,立刻被那些复杂的结构吸引了。作为一名刚接触医学图像处理的研究生,我迫切希望能用AI技术自动识别不同类型的细胞。但实验…...
杰理之app ota升级过程中IO无法维持会掉【篇】
u盘升级则可以维持...
专业级ModBus主站工具:QModMaster的工业通信架构深度解析
专业级ModBus主站工具:QModMaster的工业通信架构深度解析 【免费下载链接】qModbusMaster Fork of QModMaster (https://sourceforge.net/p/qmodmaster/code/ci/default/tree/) 项目地址: https://gitcode.com/gh_mirrors/qm/qModbusMaster 在工业自动化领域…...
Lychee旅游推荐:多模态景点内容排序系统
Lychee旅游推荐:多模态景点内容排序系统 1. 引言 你有没有过这样的经历?打开旅游APP,搜索某个目的地,结果跳出来一堆杂乱无章的景点推荐——文字描述和图片对不上,评分高的景点图片却很普通,真正好看的景…...
Qwen2.5-VL视觉定位实战:让AI帮你‘找到图里的白色花瓶’
Qwen2.5-VL视觉定位实战:让AI帮你"找到图里的白色花瓶" 1. 项目概述 1.1 什么是视觉定位? 视觉定位(Visual Grounding)是一项让AI能够根据自然语言描述在图像中精确定位目标的技术。想象一下,你只需要对A…...
如何彻底清理显卡驱动残留:Display Driver Uninstaller深度技术解析
如何彻底清理显卡驱动残留:Display Driver Uninstaller深度技术解析 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers…...
granite-4.0-h-350m实战教程:Ollama本地大模型部署+韩语技术文档理解+代码补全
granite-4.0-h-350m实战教程:Ollama本地大模型部署韩语技术文档理解代码补全 想在自己电脑上跑一个能看懂韩语技术文档、还能帮你写代码的AI助手吗?今天我们就来聊聊怎么用Ollama部署一个轻量但功能强大的模型——granite-4.0-h-350m。 这个模型只有3.5亿…...
Rust的#[derive(Clone)]中的拷贝深
Rust语言中的#[derive(Clone)]是一个强大的派生宏,它允许开发者快速为自定义类型实现Clone trait,从而支持值的显式拷贝。在Rust中,拷贝分为浅拷贝和深拷贝,而#[derive(Clone)]默认生成的实现通常是浅拷贝。在某些场景下ÿ…...
CTF-NetA:零基础也能快速定位网络流量中的隐藏Flag
CTF-NetA:零基础也能快速定位网络流量中的隐藏Flag 【免费下载链接】CTF-NetA CTF-NetA是一款专门针对CTF比赛的网络流量分析工具,可以对常见的网络流量进行分析,快速自动获取flag。 项目地址: https://gitcode.com/gh_mirrors/ct/CTF-NetA…...
