(1)Time.timeScale = 0可以暂停游戏,Time.timeScale = 1恢复正常,但这是作用于整个游戏的设置,不单单是当前场景,记得在需要的时候重置回Time.timeScale = 1。当然也可以使用Time.timeScale来做游戏的1倍、2倍整体加速。

(2)timeScale影响的因素:

设置Time.timeScale = 0 将会暂停所有和帧率无关的事情。这些主要是指所有的物理事件和依赖时间的函数、刚体力和速度等,而且FixedUpdate会受到影响,会被暂停(不是Update),即timeScale =0 时将不会调用FixedUpdate函数了。
但是,Update和LateUpdate函数本身的执行是不会受Time.timeScale的影响的。Update是依赖你的机器的,它的调用次数和你的机器渲染一样快慢(一些特殊情况除外);性能高的机器,帧率高,Update函数执行次数也就多。因此,当使用Time.timeScale = 0时,所有和时间有关的事情都被暂停了。因为Time.timeScale为0时,Time.deltaTime将为0。这意味着,如果你使用Time.deltaTime来控制旋转和位移等,那么Time.timeScale = 0也将使这些物体停止运动。所以游戏看起来是被冻结了,但是,我们的游戏仍在渲染,也就是说Update函数仍在执行。

所以Update和LateUpdate这两个方法里面需要自己用代码控制,且可以设定某些地方不会暂停(比如UI动画),弊端是如果想暂停,所有动画相关都要与Time.deltaTime这个字段绑定。

(3)如果游戏暂停以后想在暂停界面上继续播放一些不受Time.timeScale 影响的动画或者粒子特效之类的,那么我们就需要用到Time.realtimeSinceStartup去单独恢复他们,还有声音部分也需要单独恢复timeScale。
(4)以前看到一种实现暂停的方法是放弃Time.deltaTime,自己实现两个函数:OnPauseGame和 OnResumeGame。这种方法扩展性强,缺点是写起来可能比较繁琐。

补充有关于暂停的相关有个帖子: http://www.xuanyusong.com/archives/2956

转载于:https://www.cnblogs.com/AaronBlogs/p/6815876.html

Unity3D的Time.timeScale相关推荐

  1. Unity3D游戏开发之Time.timeScale

    以前我一直认为Time.timeScale来做游戏的 1倍 2倍整体加速,今天终于发现我的理解是错误的 Time.timeScale可以控制Update 和LateUpdate 的执行速度,举个例子说 ...

  2. Unity3D中暂停时的动画及粒子效果实现

    暂停是游戏中经常出现的功能,而Unity3D中对于暂停的处理并不是很理想.一般的做法是将Time.timeScale设置为0.Unity的文档中对于这种情况有以下描述: The scale at wh ...

  3. [Unity3D]关于NaN(Not a Number)的问题

    在游戏运行时,代码若写得不安全很容易出现NAN的异常.一旦NAN出现整个游戏不崩溃也坏死掉了,游戏上了则是要被直接打回来的节奏,更是一个开发及测试人员每人都要扣3000块的大BUG. 一般表现为: 1 ...

  4. 用Unity3D的50个技巧:Unity3D最佳实践

    http://bbs.9ria.com/thread-416805-1-1.html 刚开始学习Unity3D时间不长,在看各种资料.除了官方的手册以外,其他人的经验也是非常有益的.偶尔看到老外这篇文 ...

  5. unity3d优化总结篇

    转自http://www.unitymanual.com/thread-21597-1-1.html 此总结由自己经验及网上收集整理优化内容 包括: 1.代码方面: 2.函数使用方面: 3.ngui注 ...

  6. Unity3D核心类型一览

    原文  http://www.cnblogs.com/bitzhuwei/p/unity-core-types.html 主题 Unity3D Unity3D核心类型一览 本文记录了Unity3D的最 ...

  7. Unity3D的50个技巧:Unity3D最佳实践

     http://blog.csdn.net/neil3d/article/details/38534809 刚开始学习Unity3D时间不长,在看各种资料.除了官方的手册以外,其他人的经验也是非常 ...

  8. Unity3D笔记第十六天——Mecanim动画系统

    Mecanim动画系统 Unity3D动画系统分类:    一:Unity3.5版本之前的旧的Legacy系统;    二:Unity4.0版本新增加的Mecanim动画系统. 新动画系统的优点:   ...

  9. 【Unity3D小技巧】Unity3D中Animation和Animator动画的播放、暂停、倒放控制

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦. 一.前言 ...

最新文章

  1. 扒中台的“祖坟”!对不起,Supercell的“中台”,你学不会
  2. orion的简单测试
  3. mate40能更新鸿蒙,Mate40领衔更新!鸿蒙系统首批升级机型名单:这些机型可坐等推送...
  4. 明天又回LOVO了!
  5. 如何在java中调用js方法
  6. FFmpeg 中AVPacket的使用
  7. (原创)惠州市惠阳区房价偏低的原因深入分析
  8. 从工作的角度,NLP/CV/推荐系统选哪个?
  9. python增量更新数据,Python中的增量最近邻算法
  10. 服务器c的环境配置文件,配置linux服务器环境(jdk+tomcat+mysql+nginx+redis+svn+nexus的maven私服)...
  11. 4 年 46 个版本,一文读懂 Spring Cloud 发展历史
  12. 我们分析了全美Top Business Analyst 和 Data Science专业,最后给你总结了这几点
  13. 数据科学 IPython 笔记本 7.4 Pandas 对象介绍
  14. 生成模型和判别模型直接的区别
  15. BZOJ2795: [Poi2012]A Horrible Poem
  16. php函数find的用法,fleaphp crud操作之findByField函数的用法
  17. 《从0到1:CTFer成长之路》书籍配套题目-[第二章 web进阶]死亡ping命令
  18. STM32驱动AD9833
  19. 自动写诗APP项目、基于python+Android实现(技术:LSTM+Fasttext分类+word2vec+Flask+mysql)第一节
  20. 迅雷下载百度网盘的资源

热门文章

  1. android studio 解决gradle加载依赖慢的问题
  2. java.lang包—枚举类Enum
  3. javascript的内置对象以及BOM(定时器,location)
  4. c++学习笔记之输入/输出流
  5. .net 和 java 技术对应关系
  6. html5-6 Frame框架窗口类型
  7. mvc4 利用filters特性来 实现自己的权限验证 之二
  8. 「C语言」数据类型及混合运算与类型转换
  9. UVa11882,Biggest Number
  10. 经典面试题 之 子数组之和最大值