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


スポンサーリンク

関連記事

adskShaderSDK
オープンソースの取引プラットフォーム
Shader.jp:リアルタイム3DCG技術をあつかうサイト
ZBrushでアヴァン・ガメラを作ってみる 頭頂部と首周りを作り込む
ZBrushのZmodelerとDynamic Subdivisionを学ぶ
ZBrushのZScript入門
ゴジラ(2014)のメイキング
OpenVDB:3Dボリュームデータ処理ライブラリ
UnityでTweenアニメーションを実装できる3種類の無料Asset
CGALDotNet:計算幾何学ライブラリ CGALのC#ラッパー
『ハン・ソロ/スター・ウォーズ・ストーリー』のVFXブレイクダウン まとめ
Photogrammetry (写真測量法)
「ベンジャミン·バトン数奇な人生」でどうやってCGの顔を作ったのか
UnityのGlobal Illumination
『スター・ウォーズ/スカイウォーカーの夜明け』のVFXブレイクダウン
タマムシっぽい質感
ゴジラ(2014)のディティール制作の舞台裏
CGのためのディープラーニング
オープンソースの物理ベースレンダラ『Mitsuba』をMayaで使う
ラクガキの立体化 分割ラインの変更・バランス調整
Web経由でRaspberry PiのGPIOを操作したい
openMVGをWindows10 Visual Studio 2015環境でビルドする
Oculus Goを購入!
粘土をこねるようなスカルプトモデリング
Raytracing Wiki
libigl:軽量なジオメトリ処理ライブラリ
3DCGのモデルを立体化するサービス
ZBrushで仮面ライダー3号を造る 仮面編 横顔のシルエットをリファレンスに合わせる
ZBrushで仮面ライダー3号を造る 仮面編 PolyGroupを分割する
Maya LTでFBIK(Full Body IK)
ZBrushでカスタムUIを設定する
『シン・ゴジラ』のコンセプトアニメーションのメイキング動画が公開された
スクレイピング
3D復元技術の情報リンク集
書籍『ROSプログラミング』
ZBrushでアヴァン・ガメラを作ってみる 歯茎を別パーツへ分割
Unityで画面タッチ・ジェスチャ入力を扱う無料Asset『TouchScript』
Autodesk Mementoでゴジラを3次元復元する
ZBrushでアヴァン・ガメラを作ってみる モールドの彫り込み・身体の形出し
Zibra Liquids:Unity向け流体シミュレーションプラグイン
Ambient Occlusionを解析的に求める
日本でMakersは普及するだろうか?

コメント