Unity 关于生命周期函数的一些认识
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
下面截了下官方的这个流程图: