场景加载时
- Awake:场景中的每个对象实例化后,且在所有
Start
之前调用。对象处于非活动时,不会立即调用。 - OnEnable:对象启用时调用(必须是激活状态)。
编辑器相关
- Reset:首次将脚本附加到对象或使用“重置”命令时调用,用于初始化属性。
- OnValidate:脚本的属性在设置时调用,通常在编辑器中改变属性时触发。
第一帧之前
- Start:在第一次帧更新之前调用,但仅在对象启用时。
帧之间
- OnApplicationPause:游戏暂停时调用。
更新顺序
- Update:每帧更新游戏逻辑和交互。
- FixedUpdate:用于物理更新,执行频率恒定。
- LateUpdate:每帧的最后调用,用于处理跟随逻辑或摄像机更新。
可以通过 Script Execution Order 调整不同脚本的调用顺序。
动画更新
- Unity 在处理动画时会调用相关函数,如
FireAnimationEvents
,可以通过Profiler
分析这些过程。
渲染
- OnPreCull:摄像机剔除之前调用。
- OnPreRender/OnPostRender:场景渲染之前/之后调用。
- OnRenderImage:处理后期效果。
协程
- 协程允许函数暂停执行,如
yield WaitForSeconds
等。
销毁对象
- OnDestroy:对象销毁时调用。
应用退出
- OnApplicationQuit:退出应用前调用。
- OnDisable:对象禁用时调用。