Unity 生命周期函数主要有以下一些:
-
Awake(): 在脚本被加载时调用。用于初始化对象的状态和引用。 -
OnEnable(): 在脚本组件被启用时调用。在脚本组件被激活时执行一次,以及在脚本组件被重新激活时执行。 -
Reset(): 在脚本组件被重置时调用。用于重置脚本的初始状态。 -
Start(): 在脚本启用时调用。在Awake函数之后被调用,用于初始化游戏对象和组件。 -
FixedUpdate(): 在固定时间间隔内调用。用于处理物理相关的计算,例如刚体运动、物理碰撞等。 -
OnTriggerEnter(Collider other): 当游戏对象进入触发器时调用。用于处理触发事件。 -
OnTriggerExit(Collider other): 当游戏对象离开触发器时调用。 -
OnTriggerStay(Collider other): 当游戏对象停留在触发器内时调用。 -
OnCollisionEnter(Collision collision): 当游戏对象发生碰撞时调用。用于处理碰撞事件。 -
OnCollisionExit(Collision collision): 当游戏对象结束碰撞时调用。 -
OnCollisionStay(Collision collision): 当游戏对象持续碰撞时调用。 -
OnMouseEnter(): 当鼠标进入游戏对象所在区域时调用。用于处理鼠标进入事件。 -
OnMouseOver(): 当鼠标在游戏对象上移动时调用。 -
OnMouseExit(): 当鼠标离开游戏对象所在区域时调用。 -
OnMouseDown(): 当鼠标按下时调用。 -
OnMouseUp(): 当鼠标释放时调用。 -
OnMouseUpAsButton(): 当鼠标释放为按钮点击时调用。 -
OnMouseDrag(): 当鼠标拖动时调用。 -
Update(): 在每一帧更新时调用。用于处理游戏逻辑和用户输入。 -
LateUpdate(): 在所有Update函数执行完毕后调用。用于处理相机跟随和其他需要在Update完成后执行的逻辑。 -
OnPreCull(): 在相机剔除之前调用。用于在相机剔除前进行一些操作。 -
OnBecameVisible(): 当游戏对象在相机视野中可见时调用。 -
OnBecameInvisible(): 当游戏对象在相机视野中不可见时调用。 -
OnWillRenderObject(): 在渲染对象之前调用。 -
OnPreRender(): 在相机渲染之前调用。 -
OnRenderObject(): 在渲染对象时调用。 -
OnPostRender(): 在相机渲染之后调用。 -
OnRenderImage(): 在渲染图像时调用。 -
OnDrawGizmos(): 在编辑器中绘制Gizmos时调用。 -
OnGUI(): 在绘制GUI时调用。 -
OnApplicationPause(): 当应用程序暂停时调用。 -
OnApplicationQuit(): 当应用程序退出时调用。 -
OnDisable(): 在脚本组件被禁用时调用。 -
OnDestroy(): 在脚本或游戏对象被销毁时调用。
要是我们要了解Unity的全生命周期,还是得看官方的文档:
Unity - Manual: Order of execution for event functions
下面截了下官方的这个流程图:


















