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 在使 ...
随机推荐
- Contiki 2.7 Makefile 文件(一)
一.主控Makefile 这里以hello-world例子为主线,从其工程Makefile开始,解析整个build过程.
- PHP5.3之后的新特性【转】
http://blog.csdn.net/black_ox/article/details/21163193
- 搭建LoadRunner中的场景(一) 创建场景
一.创建场景 1. 使用场景创建设置对话框 场景分类: 1. 人工场景:相比面向目标场景,人工场景在实际工作中的应用更为广泛. 2. 面向目标场景:预先定义了一个测试目标,LoadRunner将根据这 ...
- CentOS 7编译安装Tengine+PHP+MariaDB全程笔记
安装环境:CentOS7 3.10.0-693.5.2.el7.x86_64 准备源码包: pcre-8.41.tar.gz openssl-1.0.1h.tar.gz zlib-1.2.11.tar ...
- (转)RTMP协议从入门到放弃
转载自: http://blog.csdn.net/shangmingyang/article/details/50837852 RTMP协议是Real Time Message Protocol( ...
- java中相对路径加载xml
一.xml文件一般的存放位置有三个: 1.放在WEB-INF下: 2.xml文件放在/WEB-INF/classes目录下或classpath的jar包中: 3.放在与解析它的java类同一个包中,不 ...
- CodeForces - 311B:Cats Transport (DP+斜率优化)
Zxr960115 is owner of a large farm. He feeds m cute cats and employs p feeders. There's a straight r ...
- openjudge 4116:拯救行动
传送门 总时间限制: 1000ms 内存限制: 65536kB 描述 公主被恶人抓走,被关押在牢房的某个地方.牢房用N*M (N, M <= 200)的矩阵来表示.矩阵中的每项可以代表道路( ...
- python反复执行某个命令
#! /usr/bin/env python #coding=utf-8 # 以需要的时间间隔执行某个命令 import time, os def re_exe(cmd, inc = 60 ...
- java线程基本原理
1.线程池简介: 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力. 假设一个服务器完成一项任务所需时间为:T1 创 ...