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


スポンサーリンク

関連記事

OpenMayaのPhongShaderクラス
オープンソースの取引プラットフォーム
R-CNN (Regions with CNN features):ディープラーニングによる一般物体...
3Dグラフィックスの入門書
組み込み向けのWindows OS 『Windows Embedded』
ラクガキの立体化 モールドの追加
Unite 2014の動画
Mayaのシェーディングノードの区分
科学技術計算向けスクリプト言語『Julia』
ブラウザ操作自動化ツール『Selenium』を試す
Raspberry PiのGPIOを操作するPythonライブラリ『RPi.GPIO』の使い方
Mitsuba 2:オープンソースの物理ベースレンダラ
C++始めようと思うんだ
ZBrush 4R8 リリース!
Web経由でRaspberry PiのGPIOを操作したい
CGWORLD CHANNEL 第21回ニコ生配信は『シン・ゴジラ』メイキングスペシャル!
ZBrushでUndo Historyを動画に書き出す
池袋パルコで3Dのバーチャルフィッティング『ウェアラブル クロージング バイ アーバンリサーチ』
Oculus Goを購入!
openMVGをWindows10 Visual Studio 2015環境でビルドする
画像からカメラの3次元位置・姿勢を推定するライブラリ『OpenGV』
CEDEC 3日目
Mayaでリアルな布の質感を作るチュートリアル
IronPythonを使ってUnity上でPythonのコードを実行する
ZBrush 2018へのアップグレード
まだ続くブログの不調
ZBrushで仮面ライダー3号を造る 仮面編 PolyGroupを分割する
Unity ARKitプラグインサンプルのチュートリアルを読む
AR (Augmented Reality)とDR (Diminished Reality)
リアルタイム レイトレーシングAPI『DirectX Raytracing (DXR)』
iOSデバイスと接続して連携するガジェットの開発方法
Deep Neural Networkによる顔の個人識別フレームワーク『OpenFace』
ラクガキの立体化 進捗
C++ 標準テンプレートライブラリ (STL)
OpenMVSのサンプルを動かしてみる
OpenCVの超解像(SuperResolution)モジュールを試す
ArUco:OpenCVベースのコンパクトなARライブラリ
Google Colaboratoryで遊ぶ準備
トランスフォーマーロストエイジのメイキング
WordPressの表示を高速化する
Mayaのプラグイン開発
OpenCV 3.1とopencv_contribモジュールをVisual Studio 2015で...

コメント