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


スポンサーリンク

関連記事

『手を動かしながら学ぶエンジニアのためのデータサイエンス』ハンズオンセミナーに行ってきた
このブログのデザインに飽きてきた
Maya には3 種類のシェーダSDKがある?
オープンソースのロボットアプリケーションフレームワーク『ROS (Robot Operating S...
OpenCVの三角測量関数『cv::triangulatepoints』
Iridescence:プロトタイピング向け軽量3D可視化ライブラリ
ZBrushのハードサーフェイス用ブラシ
『スター・ウォーズ 最後のジェダイ』のVFXブレイクダウン まとめ
.NETで使えるTensorFlowライクなニューラルネットワークライブラリ『NeuralNetwo...
ZBrush キャラクター&クリーチャー
ZBrushの作業環境を見直す
PyMC:Pythonのベイズ統計ライブラリ
UnityからROSを利用できる『ROS#』
Paul Debevec
アニゴジ関連情報
顔のモデリング
読みやすくて高速なディープラーニングのフレームワーク『Caffe』
Structure from Motion (多視点画像からの3次元形状復元)
ZBrushでアヴァン・ガメラを作ってみる 頬の突起を作り始める
PureRef:リファレンス画像専用ビューア
MFnDataとMFnAttribute
OpenCLに対応したオープンソースの物理ベースレンダラ『LuxRender(ルクスレンダー)』
Windows10でPyTorchをインストールしてVSCodeで使う
ZBrushで仮面ライダー3号を造る 仮面編 PolyGroup作成に再挑戦
OpenCV 3.3.0-RCでsfmモジュールをビルド
ZBrushで作った3Dモデルを立体視で確認できるVRアプリを作る
東京オリンピックと案内表示
ゴジラ三昧
機械学習で遊ぶ
ZBrushでアヴァン・ガメラを作ってみる 頭頂部と首周りを作り込む
日本でMakersは普及するだろうか?
OpenMVSのサンプルを動かしてみる
Blendify:コンピュータービジョン向けBlenderラッパー
Raspberry Piでセンサーの常時稼働を検討する
畳み込みニューラルネットワーク (CNN: Convolutional Neural Network...
CEDEC 3日目
書籍『OpenCV 3 プログラミングブック』を購入
機械学習手法『Random Forest』
MeshLab:3Dオブジェクトの確認・変換に便利なフリーウェア
OpenCVの顔検出過程を可視化した動画
Photogrammetry (写真測量法)
Stanford Bunny

コメント