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


スポンサーリンク

関連記事

PythonでBlenderのAdd-on開発
ZBrushでアヴァン・ガメラを作ってみる
C++の抽象クラス
Mitsuba 2:オープンソースの物理ベースレンダラ
Structure from Motion (多視点画像からの3次元形状復元)
ブログが1日ダウンしてました
『スター・ウォーズ 最後のジェダイ』のVFXブレイクダウン まとめ
3Dモデルを立体視で確認できるVRアプリを作っている
映画『ブレードランナー 2049』のVFX
手を動かしながら学ぶデータマイニング
フリーで使えるスカルプト系モデリングツール『Sculptris 』
BlenderのPython環境にPyTorchをインストールする
Dlib:C++の機械学習ライブラリ
After Effects全エフェクトの解説(6.5)
Raspberry Pi
バージョン管理の履歴を可視化するツール『Gource』
BSDF: (Bidirectional scattering distribution funct...
Python for Unity:UnityEditorでPythonを使えるパッケージ
Geogram:C++の3D幾何アルゴリズムライブラリ
1枚の画像からマテリアルを作成できる無料ツール『Materialize』
ZBrushのUV MasterでUV展開
Mean Stack開発の最初の一歩
参考になりそうなサイト
Raspberry Pi 2を買いました
頭蓋骨からの顔復元と進化過程の可視化
オープンソースの取引プラットフォーム
ZBrushでカスタムUIを設定する
Unreal Engineの薄い本
Houdiniのライセンスの種類
映画『ミュータント・タートルズ』を観てきた
ZBrushトレーニング
SIGGRAPH論文へのリンクサイト
Unite 2014の動画
FCN (Fully Convolutional Network):ディープラーニングによるSema...
ZBrushで作った3Dモデルを立体視で確認できるVRアプリを作る
Raspberry Piでセンサーの常時稼働を検討する
OpenMesh:オープンソースの3Dメッシュデータライブラリ
Python.NET:Pythonと.NETを連携させるパッケージ
Google App Engine上のWordPressでFlickrの画像を貼る
ZBrushでアヴァン・ガメラを作ってみる 甲羅のバランス調整
AfterEffectsプラグイン開発
Verilog HDL

コメント