Unity 关于时间
一、引言
本篇博客 包括:unity中帧的耗时,时间缩放比例,常用日期时间的获取和计算,测试一段程序的耗时。
二、帧时间
名称 |
描述 |
Time.time |
(只读)表示从游戏开发到现在的时间,会随着游戏的暂停而停止计算。 |
Time.realtimeSinceStartup |
(只读)表示从游戏开发到现在的时间,不会随着游戏的暂停而停止计算。 |
Time.timeSinceLevelLoad |
(只读)表示从当前Scene开始到目前为止的时间,也会随着暂停操作而停止。 |
Time.fixedTime |
(只读)表示以秒为单位游戏开始的时间。时间间隔为fixedDeltaTime。来统计游戏总时长。 |
Time.deltaTime | (只读)表示从上一帧到当前帧时间,以秒为单位。即Updata中每帧的间隔时间。实际情况视机器性能而定。 |
Time.fixedDeltaTime | (读写)表示以秒计间隔,在物理和其他固定帧率进行更新,在Edit->ProjectSettings->Time的Fixed Timestep可以自行设置。即FixedUpdate中每帧的间隔时间。可以手动设置为固定值。 |
Time.timeScale | (读写)时间缩放,默认值为1。若设置<1,表示时间减慢;若设置>1,表示时间加快;若设置=0,则游戏暂停。可以用来加速、减速和暂停游戏,非常有用。总之timeScale和 Time.time息息相关。 |
Time.frameCount | (只读)总帧数 |
三、日期时间
日期等时间的类,是DateTime。包含 当前时间,年月日时分秒等。
using System;
DateTime dt;
名称 |
描述 |
样例 |
此刻时间: | ||
DateTime .Now | (只读)获得当前时间。 类型:DateTime | DateTime dt = DateTime.Now; dt: 9/19/2018 7:43:51 PM |
年月日时分秒: | ||
dt.Year | (只读)当前年份。 类型:int | int year = dt.Year; year:2018 |
dt.Month | (只读)当前月份。 类型:int | 同上 |
dt.Day | (只读)当前日。 类型:int | 同上 |
dt.Hour | (只读)当前小时。 类型:int | 同上 |
dt.Minute | (只读)当前分钟。 类型:int | 同上 |
dt.Second | (只读)当前秒。 类型:int | 同上 |
dt.Millisecond | (只读)当前毫秒。 类型:int | 同上 1秒 = 1000 毫秒 |
dt.Ticks | (只读)当前tick。 类型:long | 同上 1毫秒 = 10000 ticks |
格式转换: | ||
ToString() |
将时间数据 由DateTime类型 转换为 string类型 |
dt .ToString(); dt:"9/19/2018 7:43:51 PM" |
增加变量: |
||
AddYears(int value); | 增加 年份 | DateTime dt2 = dt.AddYears(1); dt2: 9/19/2019 7:43:51 PM |
AddMonths(int months); | 增加 月份 | 同上 |
AddDays(double value); | 增加 日 | 同上 |
AddHours(double value); | 增加 小时 | 同上 |
AddMinutes(double value); | 增加 分钟 | 同上 |
AddSeconds(double value); | 增加 秒 | 同上 |
比较和运算: | ||
DateTime +(DateTime d, TimeSpan t); | 时间 + 某一时间段 | |
DateTime -(DateTime d, TimeSpan t); | 时间 - 某一时间段 | |
TimeSpan -(DateTime d1, DateTime d2); | 时间 - 时间 | 两个时间点的差值 |
==、!=、>、<、>=、<= | 两个时间的比较。 类型:bool |
四、程序运行时间段
在程序运行前、运行后 分别打上时间戳,然后计算时间差 即某段程序 或者 函数 运行的耗时
代码:[
DateTime n1 = DateTime.Now;
DOFun();
DateTime n2 = DateTime.Now; TimeSpan sp = n2 - n1;
long ticks = sp.Ticks;
]
1 毫秒 = 10000 ticks,足够满足时间精度了。
Unity 关于时间的更多相关文章
- 用Unity实现时间倒退效果
记得以前看过一个电影,叫做<独立游戏大电影>,其中有个一个游戏可以实现时间回退的功能,可以像倒带一样,十分有趣.因此我就想着用Unity也实现一个类似的简单Demo,说不定哪天会用到. 效 ...
- Unity脚本时间执行顺序
1.Awake Awake用于脚本唤醒.此方法为系统执行的第一个方法,用于脚本的初始化,在脚本的生命周期中只执行一次. 2.Start Start方法在Awake之后执行,在脚本生命周期中只执行一次. ...
- Unity3d 调用C++的DLL
原地址:http://www.cnblogs.com/alongu3d/archive/2013/04/20/3031904.html Unity 3D 调用DLL的方法 本文转载:渡蓝的博客园 ht ...
- DoTween的用法
using UnityEngine;using System.Collections;using DG.Tweening;using UnityEngine.UI; public class Test ...
- DOTWeen 使用
using UnityEngine; using System.Collections; using DG.Tweening; using UnityEngine.UI; public class T ...
- shader实例(八)渲染路径RenderingPath
Unity的摄像机上支持3种RenderingPath,分别是VertexLit,Forward和Dferred Lighting,而shader中的LightMode标签Vertex,Forward ...
- Unity日常记录-本地保存未来时间实现倒计时
本地保存未来时间实现倒计时 TimeTool工具类:获取当前时间.未来时间.两时间差 using System; using UnityEngine; public class TimeTool { ...
- Unity VS 创建脚本自动添加头注释-时间-描述-作者等信息
Unity生成脚本自动添加头注释 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心 ...
- 关于 Unity 的一些小细节,不注意可能会被“坑”一些时间。
关于 Unity 的一些小细节,不注意可能会被"坑"一些时间. 最近因为一些"小"问题,总是需要找很久的原因,总结一下 UnityEngine.Input 在使 ...
随机推荐
- 第六章-jQuery
jQuery的理念是: 写更少的代码, 完成更多的工作 jQuery有两个版本1.x和2.x, 版本2.x不再支持IE678 jQuery最明显的标志就是$, jQuery把所有的功能都封装在了jQu ...
- intent实现Activity之间跳转的各种传值
一.在Activity之间传递String类型的数据 传递 @Override public void onClick(View v) { String num1 = firstNum.getText ...
- darknet YOLOv2安装及数据集训练
一. YOLOv2安装使用 1. darknet YOLOv2安装 git clone https://github.com/pjreddie/darknetcd darknetmake或到网址上下载 ...
- asterisk ss7 ${CALLERID(rdnis)}变量为空问题
asterisk 1.8.16+chan_ss7 version 2.1.1b ${CALLERID(rdnis)}变量取不到信息问题,解决 编辑 funcs/func_callerid.c chan ...
- ACM学习历程——HDU5017 Ellipsoid(模拟退火)(2014西安网赛K题)
---恢复内容开始--- Description Given a 3-dimension ellipsoid(椭球面) your task is to find the minimal distanc ...
- BZOJ1758:[WC2010]重建计划
浅谈树分治:https://www.cnblogs.com/AKMer/p/10014803.html 题目传送门:https://www.lydsy.com/JudgeOnline/problem. ...
- 基于zookeeper的MySQL主主负载均衡的简单实现
1.先上原理图 2.说明 两个mysql采用主主同步的方式进行部署. 在安装mysql的服务器上安装客户端(目前是这么做,以后想在zookeeper扩展集成),客户端实时监控mysql应用的可用性,可 ...
- 为VSFTP用户指定登录后的目录.原创测试通过.
VSFTP用户目录指定1修改VSFTP配置文件Vi /etc/vsftpd/vsftp.conf #启动chroot列表chroot_list_enable=YES#指定列表位置chroot_lis ...
- 缓存与数据库一致性之二:高并发下的key重建(先淘汰cache再写db)的问题
一.为什么数据会不一致 回顾一下上一篇文章<缓存与数据库一致性之一:缓存更新设计>中对缓存.数据库进行读写操作的流程. 写流程: (1)先淘汰cache (2)再写db 读流程: (1)先 ...
- c# 鼠标点击控件即拖动窗体
在编程中,有时打开的窗体没有边框,但是我们仍然想在鼠标放在窗体上就能拖动窗体,这样我们只需要以窗体中的一个控件为参考,我们在这里以panel为例子: public class PanelNew : P ...