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

関連記事

リアルタイム レイトレーシングAPI『DirectX Ray...

Physically Based Rendering

ZBrushでアヴァン・ガメラを作ってみる 下アゴと頭部を作...

UnityでARKit2.0

Kinect for Windows V2のプレオーダー開始

Iterator

リメイク版ロボコップスーツのメイキング

OpenGVの用語

ZBrushでアヴァン・ガメラを作ってみる 全体のバランス調...

OpenCVで動画の手ぶれ補正

Konashiを買った

注文してた本が届いた

3Dモデルを立体視で確認できるVRアプリを作っている

Unite 2014の動画

機械学習に役立つPythonライブラリ一覧

クラスの基本

OpenCVの顔検出過程を可視化した動画

Unity ARKitプラグインサンプルのチュートリアルを読...

Open3D:3Dデータ処理ライブラリ

ZBrushの作業環境を見直す

この本読むよ

Pythonの自然言語処理ライブラリ『NLTK(Natura...

ZBrush 2018での作業環境を整える

定数

viser:Pythonで使える3D可視化ライブラリ

ラクガキの立体化 背中の作り込み・手首の移植

Polyscope:3Dデータ操作用GUIライブラリ

ブログの復旧が難航してた話

TensorFlowでCGを微分できる『TensorFlow...

ROSの薄い本

Gource:バージョン管理の履歴を可視化するツール

OpenCV 3.3.0 contribのsfmモジュールの...

Windows10でPyTorchをインストールしてVSCo...

映画『ジュラシック・ワールド』のVFXメイキング

FCN (Fully Convolutional Netwo...

機械学習手法『Random Forest』

ZBrushでアヴァン・ガメラを作ってみる 首回りの修正・脚...

ニンテンドー3DSのGPU PICA200

trimesh:PythonでポリゴンMeshを扱うライブラ...

MRenderUtil::raytrace

SONYの自律型エンタテインメントロボット『aibo』

Mixamo:人型3Dキャラクターアニメーション制作サービス

コメント