U3D Time类
Time.time 表示从游戏开发到现在的时间,会随着游戏的暂停而停止计算。
Time.timeSinceLevelLoad 表示从当前Scene开始到目前为止的时间,也会随着暂停操作而停止。
Time.deltaTime 表示从上一帧到当前帧时间,以秒为单位。
Time.fixedTime 表示以秒计游戏开始的时间,固定时间以定期间隔更新(相当于fixedDeltaTime)直到达到time属性。
Time.fixedDeltaTime 表示以秒计间隔,在物理和其他固定帧率进行更新,在Edit->ProjectSettings->Time的Fixed Timestep可以自行设置。
Time.SmoothDeltaTime 表示一个平稳的deltaTime,根据前 N帧的时间加权平均的值。
Time.timeScale 时间缩放,默认值为1,若设置<1,表示时间减慢,若设置>1,表示时间加快,可以用来加速和减速游戏,非常有用。
记住下面两句话:
1.“timeScale不会影响Update和LateUpdate的执行速度”
2.“FixedUpdate是根据时间来的,所以timeScale只会影响FixedUpdate的速度”。
官方的一句话:
Except for realtimeSinceStartup, timeScale affects all the time and delta time measuring variables of the Time class.
除了realtimesincestartup,timeScale影响Time类中所有时间和时间增量测量相关的变量。
Time.frameCount 总帧数
Time.realtimeSinceStartup 表示自游戏开始后的总时间,即使暂停也会不断的增加。
Time.captureFramerate 表示设置每秒的帧率,然后不考虑真实时间。
Time.unscaledDeltaTime 不考虑timescale时候与deltaTime相同,若timescale被设置,则无效。
Time.unscaledTime 不考虑timescale时候与time相同,若timescale被设置,则无效。
下面示例怎么怎么创建一个实时现实的FPS
using System.Collections;
using System.Collections.Generic;
using UnityEngine; public class Show_FPS : MonoBehaviour
{
public float updateInterval = 0.5f;
private float accum = ;
private int frame = ;
private float timeLeft = ;
private string stringFPS = string.Empty; void Start()
{
timeLeft = updateInterval;
} void Update()
{
timeLeft -= Time.deltaTime;
accum += Time.timeScale / Time.deltaTime;
frame++;
if(timeLeft <= )
{
float fps = accum / frame;
string format = string.Format("{0:F2} FPS", fps);
stringFPS = format;
timeLeft = updateInterval;
accum = 0.0F;
frame = ;
}
} private void OnGUI()
{
GUIStyle gUIStyle = GUIStyle.none;
gUIStyle.fontSize = ;
gUIStyle.normal.textColor = Color.blue;
gUIStyle.alignment = TextAnchor.UpperLeft;
Rect rt = new Rect(, , , );
GUI.Label(rt, stringFPS, gUIStyle);
}
}

U3D Time类的更多相关文章
- U3D Input类之键位输入GetKey
Input类中包含许多属性和方法,下面介绍一下和键盘输入有关的内容 一.有关接收键盘信息的属性 属性名 类型 属性类型 含义 anyKey bool get 当前是否按住任意键或鼠标按钮 anyKey ...
- U3D学习004——核心类和代码运行
1.U3D核心类 2.变量 只有public变量才可以显示在inspector面板中,[serializeField]可以使private和protected变量显示在inspector面板中. 3. ...
- Java类的继承与多态特性-入门笔记
相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...
- 【U3D】脚本引用的类,如何显示在编辑器界面
有时候,我们的类里面会组合其他功能模块 如何让这些功能类的值在编辑器界面出现呢? 1:引用类的访问类型必须是Public 2: 类必须声明为可序列化的,即在类头加入以下声明 [System.Seria ...
- U3D DrawCall优化手记
在最近,使用U3D开发的游戏核心部分功能即将完成,中间由于各种历史原因,导致项目存在比较大的问题,这些问题在最后,恐怕只能通过一次彻底的重构来解决 现在的游戏跑起来会有接近130-170个左右的Dra ...
- U3D笔记11:47 2016/11/30-15:15 2016/12/19
11:47 2016/11/30Before you can load a level you have to add it to the list of levels used in the gam ...
- [U3D 导出Xcode工程包,用Xcode给U3D脚本传递参数]
1.导出Xcode工程 File->Building and setting,导出IOS工程(有错误会失败) 2.运行Xcode工程,在Classes文件夹的UI文件夹里,早到UnityAppC ...
- U3D自定义Inspector项未触发保存事件的解决方案
1.问题描述与解决方案 1.1.说明 应该只有起步做U3D编辑器插件的部分同行需要了解本文. 该问题源于在做UI插件的时候,发现Inspector面板上手动修改值后,没有触发U3D编辑器本身的修改事件 ...
- [Editor]Unity Editor类常用方法
Editor文档资料 Unity教程之-Unity Attribute的使用总结:http://www.unity.5helpyou.com/3550.html 利用unity3d属性来设置Inspe ...
随机推荐
- wince sqlite c#
无法找到 PInvoke DLL“SQLite.Interop.084.dll 按下面步骤操作
- 转载-对js中new、prototype的理解
说明:本篇文章是搜集了数家之言,综合的结果,应向数家致谢 说到prototype,就不得不先说下new的过程. 我们先看看这样一段代码: <script type="text/java ...
- web集成高德地图
1.使用高德地图API需到官网添加一个Key,http://lbs.amap.com/dev/key/app 2.页面头引入 <div id="addressMap"> ...
- HTTP1.1协议-RFC2616-中文版
转自:http://www.cnblogs.com/k1988/archive/2010/01/12/2165683.html 说明 本文档规定了互联网社区的标准组协议,并需要讨论和建议以便更加完善. ...
- ABP框架系列之二十:(Dependency-Injection-依赖注入)
What is Dependency Injection If you already know Dependency Injection concept, Constructor and Prope ...
- 05-使用jQuery操作input的value值
表单控件是我们的重中之重,因为一旦牵扯到数据交互,离不开form表单的使用,比如用户的注册登录功能等 那么通过上节知识点我们了解到,我们在使用jquery方法操作表单控件的方法: $(selector ...
- Anton 上课题
Anton 上课题 Anton likes to play chess. Also he likes to do programming. No wonder that he decided to a ...
- [Linux/Ubuntu] vi/vim 使用方法讲解
vi/vim 基本使用方法 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的 ...
- ArcEngine不同种类的工作空间建立查询ICursor时“超出系统资源”
环境 这里我的工作空间有两种:mdb库和SDE库分别打开的工作空间. 查询语句:使用Field in ('1','2')查询方式来得到游标对象. 错误 当查询语句中in后面的条件值大于1500时,在I ...
- JSLint在idea编译器中报错
jslint:this function needs a 'use strict' pragma报错解决 JSInt是指在编写代码的时候进行代码检查语法,没有必要开启 关闭的方法 在setting中搜 ...