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


スポンサーリンク

関連記事

フィーリングに基づくタマムシの質感表現
konashiのサンプルコードを動かしてみた
Unityからkonashiをコントロールする
UnityでLight Shaftを表現する
OpenMayaRender
書籍『ROSプログラミング』
ヒーローに変身なりきりアーケードゲーム『ナレルンダー』
adskShaderSDK
ゴジラの造形
Photoshopで作る怪獣特撮チュートリアル
JavaによるCGプログラミング入門サイト (日本語)
Perfumeのライブパフォーマンスのビジュアル
Mayaでリアルな布の質感を作るチュートリアル
自前Shaderの件 解決しました
Seleniumを使ったFXや株の自動取引
UnityでShaderの入力パラメータとして行列を渡す
Unity ARKitプラグインサンプルのドキュメントを読む
トランスフォーマーロストエイジのメイキング
PythonのHTML・XMLパーサー『BeautifulSoup』
人体モデリングできるBlenderアドオン『ManuelBastioniLAB』
pythonもかじってみようかと
Point Cloud Libraryに動画フォーマットが追加されるらしい
C#で使える機械学習ライブラリ『Accord.NET Framework』
html5のcanvasの可能性
映画『ミュータント・タートルズ』を観てきた
オープンソースの物理ベースレンダラ『Mitsuba』をMayaで使う
BlenderでPhotogrammetryできるアドオン
ROMOハッカソンに行ってきた
OpenCVで動画の手振れ補正
3D映画のポストプロダクション 2D-3D変換
ジュラシック・パークの続編『ジュラシック・ワールド』
Unityで使える数値計算ライブラリ『Math.NET Numerics』
UnityからROSを利用できる『ROS#』
この本読むよ
OpenMVSのサンプルを動かしてみる
Deep Neural Networkによる顔の個人識別フレームワーク『OpenFace』
クリエイターのための機械学習ツール『Runway ML』
オープンソースのStructure from Motionライブラリ『Theia』
2012 昨日のクローズアップ現代を見た
Raytracing Wiki
Siggraph Asia 2009 カンファレンスの詳細
BlenderのPython環境にPyTorchをインストールする

コメント