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

関連記事

ZBrushで仮面ライダー3号を造る 仮面編 Clay Po...

ゴジラ(2014)のメイキング

OpenCVの三角測量関数『cv::triangulatep...

ZBrushからBlenderへモデルをインポート

DUSt3R:3Dコンピュータービジョンの基盤モデル

タイミングとクオリティ

ニンテンドー3DSのGPU PICA200

イタリアの自動車ブランドFiatとゴジラがコラボしたCMのメ...

Faster R-CNN:ディープラーニングによる一般物体検...

UnityでLight Shaftを表現する

Accord.NET Framework:C#で使える機械学...

映画から想像するVR・AR時代のGUIデザイン

IronPythonを使ってUnity上でPythonのコー...

3分の動画でプログラミングを学習できるサイト『ドットインスト...

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

Google App Engine上のWordPressでF...

JavaScriptとかWebGLとかCanvasとか

ZBrushの作業環境を見直す

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

Kornia:微分可能なコンピュータービジョンライブラリ

Arduinoで人感センサーを使う

ZBrushのキャンバスにリファレンス画像を配置する

Blendify:コンピュータービジョン向けBlenderラ...

ポイントクラウドコンソーシアム

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

Point Cloud Libraryに動画フォーマットが追...

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

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

『ピクサー展』へ行ってきた

BlenderProc:Blenderで機械学習用の画像デー...

注文してた本が届いた

ラクガキの立体化 進捗

HerokuでMEAN stack

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

VGGT:マルチビュー・フィードフォワード型3Dビジョン基盤...

3DCG Meetup #4に行ってきた

『手を動かしながら学ぶエンジニアのためのデータサイエンス』ハ...

WordPressの表示を高速化する

ポリ男からMetaHumanを作る

OpenMVSのサンプルを動かしてみる

Python.NET:Pythonと.NETを連携させるパッ...

書籍『ROSプログラミング』

コメント