以下是 Unity 中脚本(继承 MonoBehaviour
的类)的生命周期详解,涵盖核心事件函数的执行顺序、触发条件和常见用途:
一、Unity 生命周期核心流程图
二、核心阶段与事件函数
1. 初始化阶段
• Awake()
• 触发时机:脚本实例被创建时(无论脚本是否启用)。
• 用途:初始化变量、获取组件引用(如 GetComponent
)。
• 注意:不同对象的 Awake
调用顺序不确定,需避免跨对象依赖。
• OnEnable()
• 触发时机:脚本首次加载 或 对象从禁用(SetActive(false)
)变为激活时。
• 用途:注册事件、启动协程、恢复状态。
• Start()
• 触发时机:在脚本首次 Update
前,且仅当脚本启用时调用一次。
• 用途:依赖其他对象的初始化(如获取其他组件的引用)。
2. 更新阶段
• FixedUpdate()
• 触发时机:固定时间间隔(默认 0.02s,可调整 Time.fixedDeltaTime
)。
• 用途:处理物理逻辑(如 Rigidbody