Time类解析
2016-06-30 14:08
316 查看
Time.timeScale 表示游戏时间对物理时间的缩放比例,用于控制物理引擎运动和动画的速度。等于0时可以实现游戏暂停功能。
Time.deltaTime,,Time.time,Time.fixedDeltatime
,Time.fixedTime 都是被Time.timeScale缩放物理时间后的游戏时间。
可以在Eidt
- >Project Settings - Times 或者代码中 修改 timeScale 和 fixedDeltatime
比如Time.timeScale
= 2的话,可以这样理解 ,现在Time.fixedTime
= (原来Time.fixedTime) * 2 ,那么Time.time的增长速度也会变成2倍速度,就是物理时间的一秒相当于游戏世界中的两秒。
Time.time是从程序开始执行到游戏时间,Time.deltaTime上一帧完成的游戏时间,Time.fixedTime表示FixedUpdate已经执行游戏时间,而Time.fixedDeltatime是一个固定的游戏时间增量。除了fixedDeltatime其他3个值都是只读的,可以通过fixedDeltatime来改变FixedUpdate的跟新速率。
Time.realtimeSinceStartup 游戏开始执行的现在的物理时间。
Time.timeSinceLevelLoad 游戏场景开始的到现在的游戏时间。
Time.timeScale越大,Time.deltaTime越大 ,Time.time增长速度越快,FixedUpdate执行间隔的物理时间越短。以保证每fixedDeltatime游戏时间执行一次FixedUpdate。反之亦然。
改变Time.timeScale, fixedDeltatime 不改变,Update执行间隔的物理时间不改变。Update速度与fps有关。在每帧执行以后一定会执行Update方法。
void Update () {
Debug.Log("在Update中执行");
Debug.Log("time:"+Time.time);
Debug.Log("deltatime"+Time.deltaTime);
Debug.Log("fixedtime:"+Time.fixedTime);
Debug.Log("fixedDeltatimetime:" + Time.fixedDeltaTime);
}
void FixedUpdate()
{
Debug.Log("在fixedUpdate中执行");
Debug.Log("time:" + Time.time);
Debug.Log("deltatime" + Time.deltaTime);
Debug.Log("fixedtime:" + Time.fixedTime);
Debug.Log("fixedDeltatimetime:" + Time.fixedDeltaTime);
}
Time.deltaTime,,Time.time,Time.fixedDeltatime
,Time.fixedTime 都是被Time.timeScale缩放物理时间后的游戏时间。
可以在Eidt
- >Project Settings - Times 或者代码中 修改 timeScale 和 fixedDeltatime
比如Time.timeScale
= 2的话,可以这样理解 ,现在Time.fixedTime
= (原来Time.fixedTime) * 2 ,那么Time.time的增长速度也会变成2倍速度,就是物理时间的一秒相当于游戏世界中的两秒。
Time.time是从程序开始执行到游戏时间,Time.deltaTime上一帧完成的游戏时间,Time.fixedTime表示FixedUpdate已经执行游戏时间,而Time.fixedDeltatime是一个固定的游戏时间增量。除了fixedDeltatime其他3个值都是只读的,可以通过fixedDeltatime来改变FixedUpdate的跟新速率。
Time.realtimeSinceStartup 游戏开始执行的现在的物理时间。
Time.timeSinceLevelLoad 游戏场景开始的到现在的游戏时间。
Time.timeScale越大,Time.deltaTime越大 ,Time.time增长速度越快,FixedUpdate执行间隔的物理时间越短。以保证每fixedDeltatime游戏时间执行一次FixedUpdate。反之亦然。
改变Time.timeScale, fixedDeltatime 不改变,Update执行间隔的物理时间不改变。Update速度与fps有关。在每帧执行以后一定会执行Update方法。
void Update () {
Debug.Log("在Update中执行");
Debug.Log("time:"+Time.time);
Debug.Log("deltatime"+Time.deltaTime);
Debug.Log("fixedtime:"+Time.fixedTime);
Debug.Log("fixedDeltatimetime:" + Time.fixedDeltaTime);
}
void FixedUpdate()
{
Debug.Log("在fixedUpdate中执行");
Debug.Log("time:" + Time.time);
Debug.Log("deltatime" + Time.deltaTime);
Debug.Log("fixedtime:" + Time.fixedTime);
Debug.Log("fixedDeltatimetime:" + Time.fixedDeltaTime);
}
相关文章推荐
- C++ 迭代器 基础介绍
- Flask-SQLAlchemy 快速入门
- ScrollView详解
- Android之CalendarView日历视图
- spring security + memcached 重启tomcat 匿名(anonymousUser)问题
- 配置管理工作职责思考
- 打包deb
- 使用NPOI导入导出标准的Excel
- SSL与TLS的区别以及介绍
- Android shape
- 数据结构也不是那么没意思之双向循环链表
- 约瑟夫(Josephus)问题
- 贡献一段学习过程中的爬糗百的代码python
- jadx批量反编译
- XMLHttpRequest对象
- WPF+SignalR实现用户列表实时刷新
- openssl的证书链验证
- CSS之writing-mode
- .html改成.jsp后缀,jsp页面乱码
- nginx内置变量详解