Unity:Start/Update以外にあるイベント関数とは?
目次
はじめに
Unityでは、新規でスクリプトを作成すると Start / Update 関数の2つがデフォルトで追加されます。それ以外にもよく使う物であれば、Awake / OnGUI / OnEnable / OnDisable などがあるかと思います。今回は他にどんなものが使えるのか確認してみました。
スクリプトライフサイクルフローチャート
Unityの公式ページにそれぞれのイベント関数の実行タイミングが定義されていますのでご紹介します。
Initialization / Editor / Physics / Input events などのステージ毎に実行されるイベント関数の一覧が見えます。
また、下から上に線がつながっている部分はゲーム中に何度も実行される個所になりますのでアプリの実行時間にかなり影響される部分になります。
なので、FixedUpdate / Update / OnGUI 系などはしっかりとチューニングをしないとアプリ全般が遅くなる可能性があるのでなるべく使わないように心がけるとよいでしょうか。
イベント関数一覧
GUI関係
OnGUI
GUI イベントに応じて、フレームごとに複数回呼び出されます。レイアウトおよび再描画イベントが最初に処理され、その後にレイアウトおよびキーボード/マウスイベントが各入力イベントに対して処理されます。
エディター関係
Reset
Reset はスクリプトがオブジェクトに最初にアタッチされたときにスクリプトのプロパティーを初期化するために呼び出されます。Reset コマンドを実行した時も同様です。
フレーム間
OnApplicationPause
ポーズが検知されたフレームの終わりに、実際は、通常のフレームのアップデートの間に呼び出されます。OnApplicationPause が呼び出されてからひとつだけ追加のフレームが作成され、ポーズ状態を示すグラフィックスなどを表示できます。
Update関係
FixedUpdate
LateUpdate
Update
レンダリング関係
OnPreCull
OnBecameVisible
OnBecameInvisible
OnWillRenderObject
OnPreRender
OnRenderObject
OnPostRender
OnRenderImage
OnDrawGizmos
オブジェクトの生成・破棄
Awake
Start
OnDestroy
スクリプトの有効・無効
OnEnable
OnDisable
システム全体
OnApplicationQuit
OnLevelWasLoaded
コライダー系の関数
OnCollisionEnter
OnCollisionExit
OnCollisionStay
トリガー系の関数
OnTriggerEnter
OnTriggerExit
OnTriggerStay
次によみたい記事
- Unityとは?
- 画面操作
よければ、SNSにシェアをお願いします!