Unity - 이벤트 함수의 실행 순서) 복습을 위해 작성하는 글 2023-05-01

rizz·2023년 5월 1일
0

Unity

목록 보기
1/4

📒 갈무리 - 이벤트 함수의 실행 순서

📌 유니티 스크립트 라이프사이클 플로우차트

출처 : https://docs.unity3d.com/kr/2021.3/Manual/ExecutionOrder.html

 

📌 Awake

- 게임 오브젝트가 인스턴스화된 직후에 최초 1회만 호출

- 게임 오브젝트가 비활성화되어 있을 땐 호출되지 않았다가, 활성화되는 순간 호출

 

📌 OnEnable

- 오브젝트가 활성화 직후 호출

- Awake와는 다르게 비활성화했다가 다시 활성화 시 재 호출 가능

 

📌 Start

- 스크립트 인스턴스(게임 오브젝트 & 스크립트)가 활성화된 경우에 첫 번째 프레임 업데이트 이전에 호출

 

📌 FixedUpdate

- 프레임 속도가 낮은 경우 프레임당 여러 번 호출될 수 있으며 프레임 속도가 높은 경우 프레임 사이에 호출되지 않을 수 있다.

- 모든 물리 계산 및 업데이트는 FixedUpdate 후 즉시 발생

- FixedUpdate의 움직임 계산을 적용할 때, Time.deltaTime 만큼 값을 곱할 필요가 없음

- FixedUpdate가 프레임 속도와 관계없이 신뢰할 수 있는 타이머에서 호출되기 때문

 

📌 Update

- 프레임당 한 번 호출

- 프레임 업데이트를 위한 주요 작업 함수

 

📌 LateUpdate

- Update가 끝난 후 프레임당 한 번 호출

- Update에서 수행된 모든 계산은 LateUpdate가 시작할 때 완료

- 일반적으로 3인칭 카메라에 사용하는데, 캐릭터를 움직이고 Update로 방향을 바꾸게 하는 경우 LateUpdate에서 모든 카메라 움직임과 로테이션 계산을 수행할 수 있다. 이렇게 하면 카메라가 포지션을 추적하기 전에 캐릭터가 완전히 움직였는지 확인할 수 있다.

 

📌 호출 순서

Awake -> OnEnable ->Reset -> Start -> FixedUpdate -> 코루틴 -> 게임 로직(스크립트) -> LateUpdate -> Scene rendering -> Gizmo rendering -> GUI rendering

 

💡 TIP

보통 물리 엔진의 정상적인 처리를 위해서는 최소 21~22 FPS가 되어야 한다.

profile
복습하기 위해 쓰는 글

0개의 댓글