Untiy 事件函数执行顺序
Order of Execution for Event Functionshttps://docs.unity3d.com/Manual/ExecutionOrder.html
- Reset 非PlayMode时,在Inspector面板上对脚本点击Reset时执行,往物体挂载脚本的时候也会执行一次,
脚本挂载的物体在Inspector上如果是被隐藏的,则以下方法都不会执行,Reset不受影响
在物体没有隐藏的情况下↓↓↓↓↓↓↓↓↓↓↓↓↓
- Awake 只执行一次,只要挂载这个脚本就会执行,无论脚本在Inspector是否是激活状态
当脚本在Inspector面板上没有激活,以下的方法都不会执行
在物体没隐藏,脚本被激活的情况下↓↓↓↓↓↓↓↓↓↓↓↓↓
- OnEnable 可反复触发,与OnDisable配对,脚本突然禁用再激活,或者物体隐藏再激活都会执行
- Start 只执行一次
- FixedUpdate 固定帧更新,常用于刚体运算
由Untiy-Editor-ProjectSettings-Time中设置的Fixed Timestep决定的
一般默认是0.02,即一秒五十帧,一秒执行五十次。但并不代表每一次执行的时间间隔是一致的。
深入理解FixedUpdate: https://zhuanlan.zhihu.com/p/55336653
- Update 主要是看性能执行的,每秒次数不一定,常用于游戏逻辑时间计算
- LateUpdate 固定在Update之后执行的,一般用来调整代码执行顺序
Unity后台主线程将 Update,LateUpdate 制作成两个多线程
先执行Update的线程,等Update 执行完毕后,才执行LateUpdate线程。
- OnDisable 可反复触发,与OnEable配对,脚本突然被禁用或者物体隐藏的时候会执行