Unity) 라이프사이클, 이벤트함수

강성현
∙∙조회 5
Unity) 라이프사이클, 이벤트함수

1. 라이프 사이클이란?

유니티 엔진 시스템상 어느 타이밍에 무엇을 호출하는지에 대한 내용입니다.

  • Awake, OnEnable, Start 는 매프레임 호출되는 것이 아닌 객체 생성때만 호출됩니다.
  • Physics 도 매프레임이 아닌 주기적으로 호출됩니다.

 


Time.deltaTime

현재 프레임에서 다음 프레임 업데이트 까지의 시간을 이야기한다.

 


2. 이벤트 함수

2-1) Awake, OnEnable, Start

==Awake== : 자기 자신 생성 때 호출됩니다.

==OnEnable== : 오브젝트가 켜질때마다 호출됩니다.

==Start== : 첫 프레임 직전에 호출됩니다.

  • ==Awake== 는 자기 자신 컴포넌트를 참조해놓을때 주로 사용합니다.
  • ==OnEnable== 은 여러번 불린다는 성질 때문에 한번만 해야하는 일을 여기에 두지 않습니다.
  • ==Start== 에는 다른 오브젝트가 준비를 마쳤다는 것을 전제로 하는 코드를 둡니다.
시점횟수무엇을 두나
Awake한 번자기 자신을 준비하는 일. 컴포넌트 캐싱, 자기 값 초기화
OnEnable켜질 때마다켜질 때마다 되돌려 놓아야 하는 일
Start한 번다른 오브젝트가 준비된 것을 전제로 하는 일

 

2-2) Update, FixedUpdate, LateUpdate

==Update== : 매프레임마다 호출됩니다.

==FixedUpdate== : 고정된 시간 간격마다 호출됩니다.

==LateUpdate== : Update 후에 호출됩니다.

시점주기무엇을 두나
FixedUpdate고정 간격물리 계산과 관련된 것
Update매 프레임그 밖의 대부분
LateUpdate매 프레임, Update 전부 뒤다른 것이 갱신을 마친 결과를 보고 움직이는 것

 

2-3) OnDisable, OnDestroy

==OnDisable== : 오브젝트가 비활성화될 때 호출됩니다.

==OnDestroy== : 오브젝트가 삭제될때 호출됩니다.

  • 스크립트를 비활성화 하더라도 Awake는 호출되고, OnEnable, Start는 호출되지 않는다.
  • 반대로 스크립트를 비활성화 하더라도 OnDestroy는 호출된다.