Unity MonoBehaviourクラスのオーバーライド関数が呼び出される順番

Unity関連のメモ。

UnityのScriptはMonoBehaviorクラスを継承して、オーバーライド関数を使って自前の機能を実装するわけだけど、それぞれの関数が呼ばれる順番を把握していないと、思わぬところで衝突してバグになる。
ちなみに、よく使う主なオーバーライド関数は以下。

Invoke() 設定したメソッドを、設定した秒数後に、一度だけ呼び出される。
Awake() スクリプトが読み込まれる時に、一度だけ呼び出される。

OnMouse◯◯()系 マウスが乗った時等に呼び出される。
OnTrigger◯◯()系 トリガー状態のオブジェクトとの衝突状態によって呼び出される。
OnCollision◯◯()系 オブジェクトの衝突状態によって呼び出される。
OnControllerColliderHit() キャラクターコントローラーの衝突の際に呼び出される。
OnEnable() オブジェクトが有効状態になった時に一度呼び出される。
OnDestroy() オブジェクトが破棄される直前に呼び出される。
OnApplicationQuit() アプリの終了直前に呼び出される。
OnGUI() GUIの描画やイベントを処理する関数。

http://qiita.com/hiroyuki_hon/items/0718a50e6569b6c5037a



そして、こちらはMonoBehaviorクラスのオーバーライド関数が呼び出される順番を図示したもの。(Unityの公式ドキュメントより)

Unity MonoBehaviour Lifecycle

以前は有志が図示したりしてた(Unity3D MonoBehaviour Lifecycle)けど、最近は公式でこんなにわかりやすく図を載せてるのね。

関連記事

MFnMeshクラスのsplit関数

ZBrushでアヴァン・ガメラを作ってみる 下半身のバランス...

UnityのTransformクラスについて調べてみた

openMVGをWindows10 Visual Studi...

OpenMayaRender

Windows10でPyTorchをインストールしてVSCo...

3Dスキャンに基づくプロシージャルフェイシャルアニメーション

頭蓋骨からの顔復元と進化過程の可視化

Managing Software Requirements...

OpenGVのライブラリ構成

ZBrushでアヴァン・ガメラを作ってみる 壊れたデータの救...

Houdiniのライセンスの種類

ZBrushでアヴァン・ガメラを作ってみる 甲羅のバランス調...

Maya には3 種類のシェーダSDKがある?

科学技術計算向けスクリプト言語『Julia』

オープンソースハードウェア Arduino (アルドゥイーノ...

OpenCV 3.1とopencv_contribモジュール...

ZBrushでゴジラ2001を作ってみる 頭の概形作り

Google App Engineのデプロイ失敗

OpenCV 3.3.0 contribのsfmモジュールの...

BGSLibrary:OpenCVベースの背景差分ライブラリ

Oculus Goを購入!

Raspberry Pi

DensePose:画像中の人物表面のUV座標を推定する

OpenCV 3.1のsfmモジュールを試す

書籍『ゼロから作るDeep Learning』で自分なりに学...

UnityのGlobal Illumination

ポリゴン用各種イテレータと関数セット

UnityでShaderの入力パラメータとして行列を渡す

iPhone x ロボットハッカソン~RomoのiPhone...

ZBrushでアヴァン・ガメラを作ってみる 下アゴの付け根を...

フリーで使えるスカルプト系モデリングツール『Sculptri...

SIGGRAPH Asia

WebGL開発に関する情報が充実してきている

HD画質の無駄遣い

ZBrush 2018での作業環境を整える

Zibra Liquids:Unity向け流体シミュレーショ...

PyDataTokyo主催のDeep Learning勉強会

ZBrushで仮面ライダー3号を造る 仮面編 リファレンス画...

参考書

AMIMOTO(PVM版)で作成したインスタンスをAMIMO...

法線マップを用意してCanvas上でShadingするサンプ...

コメント