# 【生命周期】

  1. 创建:调用GameObject.Create()方法或从资源加载生成GameObject。
  2. 初始值设定:设置初始属性,例如位置、旋转、缩放等等。
  3. 加载资源:如果需要加载资源,例如纹理、材质、网格等等,则在此时加载。
  4. 激活:调用GameObject.SetActive(true)方法,激活游戏对象。
  5. 更新:每一帧都会更新GameObject的状态,例如位置、旋转、动画等等。
  6. 渲染:在渲染阶段,将游戏对象渲染到屏幕上。
  7. 碰撞检测:如果有碰撞组件,则在此时检测碰撞。
  8. 销毁:当游戏对象被销毁时,调用GameObject.Destroy()方法。

对象的生命周期中进行额外的操作的回调方法:

  1. Awake(): 在对象被实例化后,立即被调用。
  2. OnEnable():当对象被激活时会调用。
  3. Start(): 在Update()方法之前,被调用一次。
  4. FixedUpdate(): 固定帧数被调用,主要用于物理计算。
  5. Update(): 每一帧渲染之前都被调用一次。
  6. LateUpdate(): 在Update()方法之后,被调用一次。
  7. OnGUI(): 在GUI更新时被调用。
  8. OnDisable(): 当对象被禁用时调用。
  9. OnDestroy(): 当对象被销毁时调用。

详细执行顺序

Markdown 图片

Unity官方文档 (opens new window)