Przejdź do treści

Kolejność metod w Unity

Jak wiadomo w Unity każda metoda ( Awake, Start, Update ) ma swoją kolejność wykonywania. Jedna jest wywoływana wcześniej, inna później. Warto znać ich kolejność i w jakiej sytuacji jest wywoływana, oczywiście metody są przedstawione w odpowiedniej kolejności.

Edytor:

Reset – Wyzwalana jest wtedy, gdy dołączamy skrypt do obiektu lub użyjemy komendy Reset

 

Załadowanie sceny:

Awake – Wyzwalana jest podczas startu gry przed metodą Start w momencie inicjacji obiektu

OnEnable – Wyzwalana jest zaraz po inicjacji obiektu, oczywiście jeżeli jest on aktywny

 

Przed pierwszą klatką:

Start – Jednorazowo jest wyzwalana przed pierwszą klatką

 

Pomiędzy klatkami:

OnApplicationPause – Wyzwalana jest klatkę po tym jak została gra wstrzymana

 

Kolejność aktualizacji klatek:

FixedUpdate – Wyzwalana jest częściej niż Update co oznacza, że kod z tej metody jest wykonywany kilka razy podczas jednej klatki.

Update – Wyzwalana jest co jedną klatkę

LateUpdate – Wyzwalana jest zaraz po Update kiedy zostały wykonane wszelkie obliczenia na obiekcie.

 

Renderowanie:

OnPreCull – Wyzwalana jest zanim obiekt zaczna być widoczny dla kamery

OnBecameVisible/OnBecameInvisible – Wyzwalana jest kiedy obiekt jest widoczny  / niewidoczny

OnWillRenderObject – Wyzwalana jest dla każdej kamery która widzi dany obiekt

OnPreRender – Wyzwalana jest zanim kamera zacznie renderować scenę

OnRenderObject – Wyzwalana jest kiedy obiekt jest renderowany na scenie

OnPostRender – Wyzwalana jest po tym jak scena została już wyrenderowana

OnRenderImage – PRO – Wyzwalana jest kiedy można nałożyć postprocessing

OnGUI – Wyzwalana jest kilkukrotnie podczas klatki i przejmuje wszelkie zdarzenia na ekranie GUI ( Klawiatura, mysz )

OnDrawGizmos – Wyzwalana jest kiedy potrzebujemy rysować gizmos na scenie

 

Zniszczenie obiektu:

OnDestroy – Wyzwalana jest w ostatniej klatce w której obiekt istnieje ( zaraz przed usunięciem go ze sceny )

 

Zamykanie aplikacji:

OnApplicationQuit – Wyzwalana jest przed tym jak zamkniemy aplikację, zamkniemy kartę w przeglądarce lub naciśniemy Stop w edytorze

OnDisable – Wyzwalana jest kiedy obiekt przestaje być aktywny

 

Jest to mniej więcej przetłumaczona wersja tego artykułu: oryginał.