반응형
개요
유니티에서 일정 시점에 호출되는 함수들이다.
Awake
게임오브젝트가 Instantiate될 때 호출된다.
게임오브젝트가 활성화되어 있어야 호출된다.
OnEnable
오브젝트가 활성화될 때 한 번 실행된다.
게임오브젝트와 스크립트 컴포넌트 모두 활성화되어있어야 호출된다.
OnDisable
오브젝트가 비활성화될 때 한 번 실행된다.
참고로 gameObject.SetActive(false)와 this.enabled = false는 다르다.
gameObject.SetActive(false)는 게임오브젝트 자체를 비활성화하는 거라면,
this.enabled = false는 스크립트 컴포넌트를 비활성화하는 것이다. (게임오브젝트는 활성화)
Start
게임오브젝트가 Instantiate되고 나서 호출된다. (Awake보다 나중에 호출)
게임오브젝트와 스크립트 컴포넌트 모두 활성화되어있어야 호출된다.
Update
매 프레임마다 호출된다.
게임오브젝트와 스크립트 컴포넌트 모두 활성화되어있어야 호출된다.
LateUpdate, FixedUpdate등도 존재한다.
다음과 같이 스크립트를 짜주고, 활성화되어있는 오브젝트에 넣으면 다음과 같은 순서대로 로그가 찍힌다.
호출순서가 Awake - OnEnable - Start - Update 순인 것을 확인할 수 있다.
더 자세한 생명 주기는 Unity 메뉴얼에서 확인할 수 있다.
https://docs.unity3d.com/kr/current/Manual/ExecutionOrder.html
반응형
'게임 엔진 > Unity' 카테고리의 다른 글
[Unity] Parent of RectTransform is being set with parent property. (0) | 2022.08.13 |
---|---|
[Unity] Canvas Scaler (캔버스 스케일러) (0) | 2022.07.07 |
[Unity] Image의 Image Type (0) | 2022.03.01 |
[Unity] Collider 충돌 판정 (0) | 2021.11.16 |
[Unity] 2D Tilemap Extras 설치하기 (2D 타일맵 엑스트라) (0) | 2021.11.08 |