[유니티] 게임 오브젝트의 생명주기Unity/01. 유니티2024. 4. 2. 12:55
Table of Contents
반응형
Unity : 게임 오브젝트의 생명 주기 (Life Cycle)
게임 오브젝트의 생명 주기는 초기화 - (활성화) - 물리연산 - 게임로직 - (비활성화) - 해체 순으로 구성된다.
- 초기화 - Awake(), Start()
- 물리연산 - FixedUpdate()
- 게임로직 - Update(), LateUpdate()
- 해체 - OnDestroy()
Awake()와 Start()
Awake() 함수는 제일 먼저, 1번 실행되는 함수이며, 모든 변수를 초기화, 즉 게임의 상태를 초기화한다.
Start() 도 한번만 실행되는 것은 같으나, Update() 보다 빠르지만, Awake() 보다 늦게 실행되며 스크립트가 활성화 되어 있어야한다.
즉, Awake - Start - Update 순으로 실행된다.
Update 계열 함수
Update 계열은 3가지로 나뉘는데, Update, FixedUpdate, LateUpdate 가 있다.
- Update() - 매 프레임마다 호출 및 실행된다. 물리효과를 가지고 있지 않은 메소드들을 사용할 수 있다. PC환경마다 프레임이 달라지므로, 주기가 일정하지 않다.
- FixedUpdate() - Fixed Timestep 로 정해진 일정 시간마다 호출 및 실행된다. CPU를 많이 사용한다. 물리연산과 관련된 것들에 주로 사용한다.(예를 들면 Rigid body 을 움직일 때) *Fixed Timestep 은 메뉴창의 Edit - Project Setting - Time 에서 조정할 수 있다. 기본 설정은 0.02로, 약 50프레임이다.
- LateUpdate() - 다른 Update 계열 함수들이 모두 호출된 후, 실행된다. 카메라, 또는 후처리에 주로 사용한다.
OnDestroy() 와 OnEnable(), OnDisable()
- OnDestroy() 의 내부에는 오브젝트가 삭제되기 바로 직전에 실행할 것들을 넣는다. (예를 들면, 몬스터가 죽을 때 처치되었다는 문구를 출력하는 것)
- OnEnable() 은 게임 오브젝트를 활성화 하는 함수이다. 예를 들면, 플레이어 로그인이 있다. Awake와 Start 사이에 위치하며, 활성화 할 때마다 실행된다.
- OnDisable() 은 게임 오브젝트를 비활성화 하는 함수이다. 예를 들면, 플레이어 로그아웃이 있다.
Enable 과 Disable은 사실상 컴포넌트의 활성화/비활성화로 작동하는 함수이다.
출처 및 참고 : https://senti-mech.tistory.com/38
반응형
@HYUNJZZANG :: HyunZzang
HyunZzang의 프로그래밍 공간 / 함께 공부해요!!
도움이 되셨다면 "좋아요❤️" 또는 "구독👍🏻" 부탁드립니다 :)