주녘공부일지

[Unity] MonoBehaviour Life Cycle (생명주기) 본문

GameEngine/UnityEngine - Class

[Unity] MonoBehaviour Life Cycle (생명주기)

주녘 2023. 9. 5. 16:00
728x90

1. Initialization, Editor

- Awake() : 프리팹 인스턴스화 직후에 호출 (오브젝트가 활성화 되어야 함)

- OnEnable() : 오브젝트가 활성화된 직후에 호출되며 활성화시마다 호출

- Reset() : Reset 명령 혹은 스크립트

- Start() : 활성화된 후 첫 프레임 업데이트 직전에 호출 (한번만 호출)

2. Physics

- FixedUpdate() : Fixed Timestep에 설정된 값을 기준으로 일정 주기마다 호출

 -> 프레임에 독립적인 물리연산 등에 쓰임

- OnTirgger ~ : 충돌체가 트리거일 경우 발생되는 이벤트 함수 ( Kinematics, 물리효과 X ) : 

- OnCollider ~ : 충돌체가 콜라이더일 경우 발생되는 이벤트 함수 ( Dynamics, 물리효과 O ) : 

3. Input Events

- 마우스, 키보드 등의 이벤트 호출

4. Game Logic

- Update() : 매 프레임마다 호출 ( 스크립트 활성화상태에서만 호출됨 )

- yield ~ : Update()가 반환된 후 처리 ( 예외 : WaitForFixedUpdate() - Physics )
- LateUpdata() : 게임 로직의 함수가 다 호출되고 난 후 게임 로직 파트 마지막에 호출

 -> 카메라 등의 어떤 오브젝트를 따라가는 등의 기능에 쓰임

5. Rendering

- OnGUI : GUI 이벤트에 따라 프레임당 여러 번 호출

+ a

6. Decommissioning

- OnApplicationQuit() : 애플리케이션 종료 직전에 호출

- OnDisable() : 오브젝트가 비활성화되기 직전에 호출되며, 비활성화될 때마다 직전에 호출

- OnDestroy() : 오브젝트가 파괴되기 직전에 호출

728x90

'GameEngine > UnityEngine - Class' 카테고리의 다른 글

[Unity] Coroutine & UniTask ( Coroutine 대체 )  (0) 2023.09.05
[Unity] Animation Blending  (0) 2022.03.23
[Unity] StateMachineBehaviour  (0) 2022.03.23
[Unity3D] Camera  (0) 2022.03.01
[Unity3D] Physics.Raycast (+LayerMask)  (0) 2022.02.24