順序: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
,當常用當中的游戲對象或腳本被銷毀的時候調用,一般用于場景關閉或對象銷毀前做善后工作。