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でアヴァン・ガメラを作ってみる 甲羅のバランス調整
Mean Stack開発の最初の一歩
SIGGRAPH ASIAのマスコット
OpenCV 3.3.0-RCでsfmモジュールをビルド
OpenCV
BSDF: (Bidirectional scattering distribution funct...
MPC社によるゴジラ(2014)のVFXブレイクダウン
Raspberry PiのGPIOを操作するPythonライブラリ『RPi.GPIO』の使い方
ラクガキの立体化 分割ラインの変更・バランス調整
ディープラーニング
UnityユーザーがUnreal Engineの使い方を学ぶには?
Unityで学ぶC#
MRenderUtil::raytrace
オープンソースの物理ベースレンダラ『Mitsuba』をMayaで使う
Kinect for Windows V2のプレオーダー開始
ZBrush用トポロジー転送プラグイン『ZWrap Plugin for ZBrush』
TensorSpace.js:ニューラルネットワークの構造を可視化するフレームワーク
ROMOハッカソンに行ってきた
『スター・ウォーズ フォースの覚醒』のVFXブレイクダウン まとめ
映画『シン・ウルトラマン』 メイキング記事まとめ
OpenGVのライブラリ構成
ブログのデザイン変えました
ラクガキの立体化 反省
PythonでMayaのShapeノードプラグインを作る
写真に3Dオブジェクトを違和感無く合成する『3DPhotoMagic』
『ハン・ソロ/スター・ウォーズ・ストーリー』のVFXブレイクダウン まとめ
OpenCVの顔検出過程を可視化した動画
ZBrush 2018での作業環境を整える
trimesh:PythonでポリゴンMeshを扱うライブラリ
ZBrushで仮面ライダー3号を造る 仮面編 リファレンス画像の表示
Google App Engine上のWordPressでFlickrの画像を貼る
ラクガキの立体化 目標設定
Python.NET:Pythonと.NETを連携させるパッケージ
OpenCVでPhotoshopのプラグイン開発
リメイク版ロボコップスーツのメイキング
ZBrushで仮面ライダー3号を造る 仮面編
Google XML Sitemap Generatorプラグインを3.4.1へダウングレード
手を動かしながら学ぶデータマイニング
Faceshiftで表情をキャプチャしてBlender上でMakeHumanのメッシュを動かすデモ
After Effects全エフェクトの解説(6.5)
機械学習手法『Random Forest』
BlenderのGeometry Nodeで遊ぶ

コメント