顺序:Awake-> OnEnable->OnStart->FixedUpdate->Update->LateUpdate->OnDisable->OnDestroy
Awake
当一个脚本实例被载入的时候调用,调用时机先于Start,
用于初始化对象或者脚本、组件之间的引用。只执行一次
OnEnable
当脚本或游戏对象从注销状态转到激活状态时调用
Start
在第一次调用Update函数之前被调用,Awake之后被调用
用于数值的初始化设置,只被调用一次(是Update第一次的前一次)
FixedUpdate
物理计算和更新
游戏的定时器默认为0.02秒,也就是说FixedUpdate默认0.02秒执行一次。这个值可以调节不受帧速率的影响 Time.timeScale等于0, 则FixedUpdate不会执行。
Update
游戏运行时每帧调用一次,调用频率基于游戏目前的帧速率。
用于更新游戏的逻辑数据
LateUpdate
在Update函数调用之后被调用,也是每帧调用一次。在Update当中执行的任何计算,都会在LateUpdate开始之前完成。
摄像机的跟随,如果把角色的移动和旋转Update当中的话,那么可以把摄像机的移动和旋转LateUpdate当中。
/// 这是为了在摄像机追踪角色位置之前,确保角色已经完成了移动,而不会出现摄像机比角色先到达的空帧情况。
OnDisable
与OnEnable方法对应
当游戏对象或脚本从激活转台转为注销状态的时候被调用
OnDestroy
,当常用当中的游戏对象或脚本被销毁的时候调用,一般用于场景关闭或对象销毁前做善后工作。