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

関連記事

映画『ミュータント・タートルズ』を観てきた

ジュラシック・パークの続編『ジュラシック・ワールド』

クラスの基本

C#で使える遺伝的アルゴリズムライブラリ『GeneticSh...

SIGGRAPH Asia

書籍『データビジュアライゼーションのデザインパターン20』読...

3DCG Meetup #4に行ってきた

『ローグ・ワン/スター・ウォーズ・ストーリー』のVFXブレイ...

Quartus II

機械学習手法『Random Forest』

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

ZBrushの練習 手のモデリング

OpenMayaRender

ゴジラ三昧

インターフェイスは世界を規定する

まだ続くブログの不調

ラクガキの立体化 分割ラインの変更・バランス調整

フリーのUV展開ツール Roadkill UV Tool

OpenCVでPhotoshopのプラグイン開発

ZBrushで仮面ライダー3号を造る 仮面編 Dam Sta...

Google App Engine上のWordPressでA...

『スター・ウォーズ フォースの覚醒』のVFXブレイクダウン ...

Python for Unity:UnityEditorでP...

ゴジラ(2014)のディティール制作の舞台裏

Raspberry Pi

iPhone・iPod touchで動作する知育ロボット『R...

NumSharp:C#で使えるNumPyライクな数値計算ライ...

ZBrushのハードサーフェイス用ブラシ

iOSデバイスと接続して連携するガジェットの開発方法

Siggraph Asia 2009 カンファレンスの詳細

グローバルイルミネーションに手を出す前に、やり残したことがあ...

BlenderでPhotogrammetryできるアドオン

CLO:服飾デザインツール

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

ZBrushでアヴァン・ガメラを作ってみる 甲羅の修正・脚の...

3D復元技術の情報リンク集

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

オープンソースの人体モデリングツール『MakeHuman』の...

Maya LTでFBIK(Full Body IK)

TeleSculptor:空撮動画からPhotogramme...

書籍『The Art of Mystical Beasts』...

手を動かしながら学ぶデータマイニング

コメント