Unity中Update和FixedUpdate的区别
2015-11-27 12:20
465 查看
一直以来用的最多的是Update,但是当在Unity中处理一些物理有关属性的更新时,应该在FixedUpdate中处理,因为效果会更好。 看看unity官方的Script Life Flowchart图(地址:http://docs.unity3d.com/Manual/ExecutionOrder.html)
显然,FixedUpdate跟Update这两个函数处于不同的“帧环”(自己发明的词)中,FixedUpdate处于Physics帧环中,而Update显然不是。所以这两个函数的使用也有了不同。 1.Update的执行受场景GameObject的渲染的影响,三角形的数量越多,渲染所需要的时间也就越长。FixedUpate的执行则不受这些影响。 2.由于前面的1的原因,Update每个渲染帧之间的间隔是不相等的,而Fixedupdate在每个渲染帧之间的时间间隔是相等的。下面的代码很好的演示了这个不同
using UnityEngine; using System.Collections; public class UpdateAndFixedUpdateTest : MonoBehaviour { void FixedUpdate () { Debug.Log("FixedUpdate time :" + Time.deltaTime); } void Update () { Debug.Log("Update time :" + Time.deltaTime); } }
输出结果如下:
可以看到,FixedUpdate每次渲染帧之间的时间间隔是相等的,而Update却不尽相同。 3.由于1,2的原因,所以一些物理属性的更新操作应该放在FxiedUpdate中操作,比如Force,Collider等。外设的操作也是,比如说键盘或者鼠标的输入输出Input,因为这样GameObject的物理表现的更平滑,更接近现实。
相关文章推荐
- Unity中T4M插件的使用,以及针对5.0的修改
- MAC下用unity进行开发书写中文-Visual Studio Code
- Unity uGui RawImage 渲染小地图
- Unity3D-粒子系统
- 混音器(AudioMixer):用Unity 5.0混合出美妙节拍
- Unity中的分层射线检测
- Unity3D模型制作规范[转]
- Unity3D 扩展 Scene
- [Unity框架]PureMVC基础
- 【小松教你手游开发】【unity实用技能】NGUI Scrollview的Reposition的几个总结
- unity万能的提示窗口
- Unity5中的光照简介
- Unity 5 全局光照GI与新的烘焙系统初探
- [3D理论] 关于unity中的update、Lateupdate和FixedUpdate。
- Unity3D中Update和Lateupdate的区别
- Unity3D Update() 和 FixedUpdate()区别
- unity脚本执行顺序详解
- Android 与 Unity3D 项目的整合的Bug
- Unity3D爬坑手记——Prefab篇2
- unity 实现炸弹人放炸弹后只进不出的一种方法