unity引擎中游戏物体的生命周期

游戏生命周期

执行顺序 部分函数名称 调用 注意
1 Awake 游戏物体实例化后并处于激活状态时调用,即使脚本组件没有激活也会调用,且总是在Start()之前调用 只调用一次
2 OnEnable 游戏物体与脚本组件激活时调用 会反复触发
3 Reset 重置默认值
4 Start 游戏物体与脚本组件处于激活状态,在Update()前调用 只调用一次,当物体关闭激活状态,再打开时不会反复触发
5 FixedUpdate 根据设定的帧率运行 帧率固定,主要用于刚体运算,存在平衡机制去约束
6 Update 每帧调用一次 帧率不固定,与硬件性能以及逻辑复杂度相关
7 LateUpdate 每帧调用一次,在Update()后调用
8 OnDrawGizmos 绘制可被点选的gizmos
9 OnGUI 渲染和处理GUI事件时调用
10 OnDisable 游戏物体或脚本组件关闭激活时调用 会反复触发
11 OnDestroy 当游戏物体销毁时调用
  • FixedUpdate运行帧率由:Edit-Project Settings-Time-Fixed Timestep的值决定。 注:每秒运行帧率相等不代表运行时间相等。可通过Time.realtimeSinceStartup测试出来每次FixedUpdate()调用时间间隔是不一样的。
  • 为保证FixedUpate的固定帧率,通过设置Edit-Project Settings-Time Maximum Allowed Timestep来实现平衡机制,限定每次FixedUpdate()运行的最长时间。实现效果与性能的平衡。
原文地址:https://www.cnblogs.com/ChaoJieLiu/p/11876254.html