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)けど、最近は公式でこんなにわかりやすく図を載せてるのね。

関連記事

WinSCP

プログラミングスキルとは何か?

HTML5・WebGLベースのグラフィックスエンジン『Goo Engine』

SIGGRAPH ASIA 2009で学生ボランティア募集してるみたい

HD画質の無駄遣い その2

AmazonEC2のインスタンスをt1.microからt2.microへ移行する

konashiのサンプルコードを動かしてみた

ZBrushで基本となるブラシ

ZBrushでアヴァン・ガメラを作ってみる 口内の微調整・身体のライン修正

Open Shading Language (OSL)

この本読むよ

2012のメイキングまとめ(途中)

JavaScriptとかWebGLとかCanvasとか

クラスの基本

OpenCV3.3.0でsfmモジュールのビルドに成功!

iPhone 3GSがますます欲しくなる動画

スクラッチで既存のキャラクターを立体化したい

CEDEC 3日目

テスト

openMVGをWindows10 Visual Studio 2015環境でビルドする

MFnMeshクラスのsplit関数

映画『シン・仮面ライダー』 メイキング情報まとめ

Blender 2.8がついに正式リリース!

ラクガキの立体化 3Dプリント注文

OpenMesh:オープンソースの3Dメッシュデータライブラリ

『ハン・ソロ/スター・ウォーズ・ストーリー』のVFXブレイクダウン まとめ

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

CGレンダラ研究開発のためのフレームワーク『Lightmetrica (ライトメトリカ)』

組み込み向けのWindows OS 『Windows Embedded』

ZBrushの作業環境を見直す

Web経由でRaspberry PiのGPIOを操作したい

Mixamo:人型3Dキャラクターアニメーション制作サービス

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

RSSフィードを読込んで表示するWordpressプラグイン『RSSImport』

ミニ四駆を赤外線制御したりUnityと連携したり

参考書

Runway ML:クリエイターのための機械学習ツール

SDカードサイズのコンピューター『Intel Edison』

書籍『仕事ではじめる機械学習』を読みました

MythTV:Linuxでテレビの視聴・録画ができるオープンソースプロジェクト

『スター・ウォーズ 最後のジェダイ』のVFXブレイクダウン まとめ

ZScript

コメント