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 在使 ...
随机推荐
- haproxy 修改 访问路径
# 匹配 jsessionid,并去除 jessionid参数reqrep ^([^\ :]*)\ /a/test.html;jsessionid=.*\?(.*) \1\ /b/test.html? ...
- HDU 2157 How many ways??:矩阵快速幂【i到j共经过k个节点的方法数】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2157 题解: 给你一个有向图,n个节点m条边,问你从i到j共经过k个节点的方法数(不算i点). 题解: ...
- db2move 数据导出整理
db2move <database-name> <action> [<option> <value>] 命令解释:1).database-name, ...
- Linux_异常_04_ftp: command not found...
今天在centos上使用ftp命令连接本机的FTP服务器(本机FTP服务使用Vsftpd搭建),出现如下的错误提示:-bash: ftp: command not found 查询相关资料,发现很有可 ...
- 【Lintcode】029.Interleaving String
题目: Given three strings: s1, s2, s3, determine whether s3 is formed by the interleaving of s1 and s2 ...
- Mysql误删了root用户怎么办
1.停止mysql服务:在mysql安装目录下找到my.ini:在my.ini中找到以下片段[mysqld]:另起一行加入代码:skip-grant-tables 并保存 2.启动mysql服务,并登 ...
- docker的操作
查询容器 docker ps 只能查询到正在运行的docker镜像: 如果添加上-a的选项,则会显示所有的(包括已经exit,未启动)的容器 基于一个镜像来构建(run)容器,并启动 docker ...
- poj 2420 A Star not a Tree?——模拟退火
题目:http://poj.org/problem?id=2420 精度设成1e-17,做三遍.ans设成double,最后再取整. #include<iostream> #include ...
- 抽屉header
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- I/O:Unit1
编程,从键盘读入学生成绩(0~100分),共15名学生,计算并显示总分.平均成绩.单的学生成绩 ; sum: avg: DATA1 SEGMENT STU DB ,,,,,,,,,,,,,, SUM ...