Unity3D中所有控制腳本的基類MonoBehaviour有一些虛函數(shù)用于繪制中事件的回調(diào),也可以直接理解為事件函數(shù),例如大家都很清楚的Start,Update等函數(shù),以下做個總結。
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:主機域名、虛擬主機、營銷軟件、網(wǎng)站建設、南皮網(wǎng)站維護、網(wǎng)站推廣。Awake
當前控制腳本實例被裝載的時候調(diào)用。一般用于初始化整個實例使用。
Start
當前控制腳本第一次執(zhí)行Update之前調(diào)用。
Update
每幀都執(zhí)行一次。這是最常用的事件函數(shù)。
FixedUpdate
每固定幀繪制時執(zhí)行一次,和update不同的是FixedUpdate是渲染幀執(zhí)行,如果你的渲染效率低下的時候FixedUpdate調(diào)用次數(shù)就會跟 著下降。FixedUpdate比較適用于物理引擎的計算,因為是跟每幀渲染有關。Update就比較適合做控制。
LateUpdate
在每幀執(zhí)行完畢調(diào)用,他是在所有update結束后才掉,比較適合用于命令腳本的執(zhí)行。官網(wǎng)上例子是攝像機的跟隨,都是在所有update操作完才跟進攝像機,不然就有可能出現(xiàn)攝像機已經(jīng)推進了,但是視角里還未有角色的空幀出現(xiàn)。
Reset
這個是編輯器模式情況下你點擊reset按鈕(如果有的話)調(diào)用的,你可以在這里做調(diào)試的初始化工作。
OnApplicationFocus
OnApplicationPause
OnApplicationQuit
應用程序失去焦點,應用程序暫停,應用程序退出時候發(fā)送這些消息。
OnBecameInvisible
OnBecameVisible
當腳本宿主(不)被任何攝像機顯示時候發(fā)送此消息。
OnCollisionEnter
OnCollisionExit
OnCollisionStay
當其他碰撞或者剛體(collider/rigidbody )和參數(shù)的碰撞或者剛體(collider/rigidbody )重疊、退出時發(fā)送前兩個。而當他們保持重疊狀態(tài)時每幀都會發(fā)送一個Stay消息。
OnConnectedToServer
OnDisconnectedFromServer
OnFailedToConnect
OnFailedToConnectToMasterServer
前兩個 當客戶端成功連接到服務器或者斷開服務器時發(fā)送此消息。
后兩個 當連接失敗時候觸發(fā)
OnMasterServerEvent
當Master服務器發(fā)送報告時候觸發(fā)。
OnNetworkInstantiate
當物體被Network.Instantiate時觸發(fā)。(還沒研究到)
OnPlayerConnected
OnPlayerDisconnected
在服務端當玩家成功連接/離線時候觸發(fā)。
OnControllerColliderHit
當控制者和參數(shù)ControllerColliderHit碰撞時候觸發(fā)此消息。官方舉例可以用于角色移動一個物體,當角色碰到這個參數(shù)物體時候,你可以在這函數(shù)里操作移動此物體的動作,等等。
OnParticleCollision
當粒子撞到碰撞體(collider)時觸發(fā)。
OnDisable
OnEnable
當腳本宿主被啟用或者禁用時候觸發(fā)。
OnDrawGizmos
OnDrawGizmosSelected
編輯器狀態(tài)時繪制Gizmos和Gizmos被選取時候觸發(fā)。
注:Gizmos參見我另一篇blog,他是用與做自己的組件時候用的,比如路徑點繪制之類的。
OnGUI
繪制GUI時候觸發(fā)。一般在這個函數(shù)里繪制GUI菜單。
OnJointBreak
(還沒研究到)
OnLevelWasLoaded
當新的level(unity包)讀取完畢時候觸發(fā)。
OnMouseDown
OnMouseDrag
OnMouseEnter
OnMouseExit
OnMouseOver
OnMouseUp
鼠標事件,都是當鼠標和gui或者碰撞體(Collider)交互時候觸發(fā)。需要說明的是drag其實就是鼠標down后up之前持續(xù)每幀都會發(fā)送此消息。
OnPostRender
這個函數(shù)僅用于宿主為攝像機的腳本。當此攝像機范圍內(nèi)所有渲染都完成時候觸發(fā)此消息。
OnPreCull
這個函數(shù)僅用于宿主為攝像機的腳本。當此攝像機剔除了某個渲染場景時候觸發(fā)此消息。(未驗證)
OnPreRender
這個函數(shù)僅用于宿主為攝像機的腳本。當此攝像機開始渲染某個場景時候觸發(fā)此消息。
OnRenderImage
當所有渲染完成image的postprocessing effects(只有pro版支持)后觸發(fā)。
OnRenderObject
這個函數(shù)僅用于宿主為攝像機的腳本。當使用Graphics.DrawMeshNow 或者其他函數(shù)繪制自己建立的物體渲染完畢時觸發(fā)。
OnSerializeNetworkView
OnServerInitialized
當 Network.InitializeServer完成時觸發(fā)。
OnTriggerEnter
OnTriggerExit
OnTriggerStay
當碰撞體(collier)接觸觸發(fā)區(qū)域(trigger)時候的一系列消息。
OnWillRenderObject
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。