Unity学习_1、Unity脚本生命周期

**

脚本生命周期:Unity脚本从唤醒到销毁的过程

**

掌握:方法名称、什么时候被调用(执行时机)、什么时候用(适用性)。

**

生命周期阶段

**
初始阶段
Awake 唤醒:当物体载入时立即调用一次,常用于在游戏开始前进行初始化
OnEnable 当可用:每当脚本对象启用时调用,启用一次调一次
Start 开始:当物体载入且脚本对象启用时被调用一次,常用于数据或游戏逻辑初始化,执行时机晚于Awake
如果同一个脚本挂在不同物体上,会先执行所有物体上脚本的Awake,再执行Start。

物理阶段
FixedUpdate 固定时间更新:脚本启用后,每隔固定时间被调用一次,时间默认为0.02s,适用于对游戏对象做物理操作,例如移动、旋转等,不会受到渲染影响(渲染时间不固定,因为每帧渲染量不同或机器性能不同)
设置更新频率:Edit–>Project Setting–>Time–>Fixed Timestep,不建议修改
OnCollisionXXX 碰撞:当满足碰撞条件时被调用
OnTriggerXXX 触发:当满足触发条件时被调用
Unity学习_1、Unity脚本生命周期
输入事件
Unity学习_1、Unity脚本生命周期
游戏逻辑
Update 更新:脚本启用后,每次渲染场景执行一次,执行时间不固定,适用于处理游戏逻辑
LateUpdate 延迟更新:在Update函数被调用后执行,和Update执行在同一帧,适用于跟随逻辑

场景渲染
OnBecameVisible 当可见:当Mesh Renderer在任何相机上可见时调用
OnBecameInvisible 当不可见:当Mesh Renderer在任何相机上都不可见时调用

结束阶段
OnDisable 当不可用:对象变为不可用或附属游戏对象非**状态时调用
OnDestroy 当销毁:当脚本销毁或附属的游戏对象被销毁时调动
OnApplicationQuit 当程序结束:应用程序退出时被调用