【Unity游戏开发之一】Time.timeScale=0暂停游戏的情况下播放动画
2015-07-27 14:34
1796 查看
前提条件:在项目中用过Time.timeScale = 0来实现游戏暂停
问题: 暂停游戏后,暂停界面的按钮可能需要播放一个idle时的动画,Time.timeScale=0 会影响动画播放。
受Time.timeScale影响的因素:
1.物理模拟.
FixedUpdate - 当Time.timeScale=0时,FixedUpdate 函数不会被执行。
2.Coroutines.
- Time.timeScale=0 协程函数不会停止,但是会停止WaitForSeconds. 协成函数还是会每一帧都触发,但是WaitForSeconds使用的是当前的Time.deltaTime会变成0
3.Invoke
和
InvokeRepeating. -延迟一段时间后掉用指定函数.
4.Particle
System 粒子系统.
5.Animations.
-动画. 如果我们使用的是Animator,可以设置动画忽略Time.timeScale带来的影响.
只需要把UpdateMode设置为UnScaled Time,设置如下:
不受 Time.timeScale影响的因素:
1.Update
- Time.timeScale不会影响Update的调用,Update会一直被调用。但是如果Time.deltaTime=0,如下实现不会工作:
-OnGui和对应的事件实现原理不基于Time.timeScale,所以也不会受影响。
参考:
http://gamedevdocket.blogspot.com
http://answers.unity3d.com/
https://unionassets.com/blog/playing-animation-with-time-timescale-0-339
问题: 暂停游戏后,暂停界面的按钮可能需要播放一个idle时的动画,Time.timeScale=0 会影响动画播放。
受Time.timeScale影响的因素:
1.物理模拟.
FixedUpdate - 当Time.timeScale=0时,FixedUpdate 函数不会被执行。
2.Coroutines.
- Time.timeScale=0 协程函数不会停止,但是会停止WaitForSeconds. 协成函数还是会每一帧都触发,但是WaitForSeconds使用的是当前的Time.deltaTime会变成0
3.Invoke
和
InvokeRepeating. -延迟一段时间后掉用指定函数.
4.Particle
System 粒子系统.
5.Animations.
-动画. 如果我们使用的是Animator,可以设置动画忽略Time.timeScale带来的影响.
只需要把UpdateMode设置为UnScaled Time,设置如下:
不受 Time.timeScale影响的因素:
1.Update
- Time.timeScale不会影响Update的调用,Update会一直被调用。但是如果Time.deltaTime=0,如下实现不会工作:
function Update () { // Move the object 10 meters per second! var translation = Time.deltaTime * 10; transform.Translate (0, 0, translation); }2.OnGUI
-OnGui和对应的事件实现原理不基于Time.timeScale,所以也不会受影响。
参考:
http://gamedevdocket.blogspot.com
http://answers.unity3d.com/
https://unionassets.com/blog/playing-animation-with-time-timescale-0-339
相关文章推荐
- Unity中的Path对应各平台中的Path
- unity, unlit surface shader (texColor only surface shader)
- 讲解如何在Unity的Inspector面板中用滑动条来控制变量的大小
- Unity中添加AES加密
- Unity Array数组
- Unity导入FBX文件部分模型丢失材质的BUG
- Unity3d中Dictionary和KeyValuePair的使用
- 【Unity NGUI游戏开发之三】TweenPosition位移动画(二):相对于UIAnchor不同分辨率下的完美适配位移动画
- Unity 之 C# 利用回调函数实现C++匿名函数
- Unity3D研究院之手游开发中所有特殊的文件夹
- unity3d v5.1.1 ugui 带垂直滚动条的文本框
- 关于Unity实现游戏录制功能的思考
- unity之mipmap
- unity编辑器对对象属性的编辑
- Unity插件
- Unity中处理json数据(插件litjson和自带JsonUtility的两种)
- Unity打飞机小游戏
- [UnityShaderCookbook 读书笔记] [02] 光照模型
- [UnityShaderCookbook 读书笔记] [01] Unity Shader 基础
- unity3d 数学的数学基础和辅助类