Seonho Cha의 블로그
유니티 게임 오브젝트의 흐름 본문
본 게시글은 골드메탈님의 영상을 보고 정리한 내용입니다!
https://www.youtube.com/watch?v=PyN3JkPTpAI&list=PLO-mt5Iu5TeYI4dbYwWP8JqZMC9iuUIW2&index=6
유니티의 오브젝트 순환 구조는
초기화 영역 - 물리 연산 영역 - 게임 로직 영역 - 해체 영역의 순서로 이루어져 있습니다.
(물론 활성화와 비활성화도 가능합니다. 활성화의 경우 초기화 영역과 물리 연산 영역 사이에서 이루어지고 비 활성화의 경우 게임로직과 해체 사이에서 이루어집니다. 아래에서 자세히 설명하겠습니다.)
1. 초기화 'Awake' - 초기화 영역 (1)
- Awake 함수는 딱 한 번만 실행됩니다.
2. 프레임 시작을 알리는 'Start' - 초기화 영역 (2)
- 업데이트 시작 전 딱 한 번만 실행됩니다.
3. 'FixedUpdate' - 물리 연산 로직
- 고정된 실행 주기로 CPU를 사용한다. (CPU의 사양과 관계 없이 1초에 50회의 고정주기로 CPU를 사용하여 CPU에 많은 부하가 생길 수 있습니다.)
4. 게임 로직 업데이트 'Update' - 게임 로직 (1)
- 컴퓨터 환경에 따라서 FixedUpdate와 달리 컴퓨터 사양에 따라 다른 실행주기를 가진다. 기본 60프레임의 실행 주기를 가져있지만 환경에 따라 더 떨어질 수도 있습니다.
5. 모든 업데이트 영역의 로직이 실행이 끝난 뒤 'LateUpdate' - 게임 로직 (2)
- 카메라 및 후처리에 주로 사용. 기본 60프레임.
6. 'OnDestroy' - 해체 영역
- 게임 오브젝트를 삭제할 경우 실행.
7. ' OnEnable' - 활성화
- 게임 오브젝트가 활성화 되었을 때 초기화 영역과 물리 연산 영역 사이에서 실행 되는 함수입니다.
8. 'OnDisable' - 비활성화
- 게임 오브젝트가 삭제되거나 비 활성화 될 때 게임로직 영역과 해체 영역 사이에서 실행되는 함수 입니다.
'유니티 공부' 카테고리의 다른 글
유니티에서 공을 굴려 다른 공을 떨어뜨려 보자! (0) | 2022.10.02 |
---|---|
C#의 함수와 클래스 (unity) (0) | 2022.09.30 |