Pink Transparent Star

Unity/레트로의 유니티 공부

[ Unity ] MonoBehaviour은 무엇인가?

채유나 2022. 9. 16. 15:58
728x90

* 본 내용은 레트로의 유니티 게임 프로그래밍 에센스 내용을 기반으로 정리하였습니다.

 

유니티의 기본 기능을 제공하는 클래스로 모든 컴포넌트들은 Monobehavour 클래스를 상속한다. 

 

* 컴포넌트에 필요한 기능들이 MonoBehaviour에 들어가있다.

 

MonoBehaviour 클래스에 있는 '유니티 이벤트 메서드' 기능에 대해 알아보도록 하자.

 

 

MonoBehavour의 함수 주기

 

< Unity 기능 설명 사이트 >

https://docs.unity3d.com/kr/2021.1/Manual/ExecutionOrder.html

 

이벤트 함수의 실행 순서 - Unity 매뉴얼

Unity 스크립트를 실행하면 사전에 지정한 순서대로 여러 개의 이벤트 함수가 실행됩니다. 이 페이지에서는 이러한 이벤트 함수를 소개하고 실행 시퀀스에 어떻게 포함되는지 설명합니다.

docs.unity3d.com

Awake ▻ OnEnable ▻ Start ▻ FixedUpdate ▻ OnTrigger ▻ OnCollision ▻ Update ▻ LateUpdate ▻ OnDisable ▻ OnDestroy


Awake : 게임이 시작하기 전, 최초로 모든 변수와 게임의 상태를 초기화하기 위해 단 한번만 호출된다. 즉, Start보다 먼저 호출된다.Find, FindWithTag을 이용하여 게임 오브젝트를 요청하거나, 다른 오브젝트와 안전하게 연동해서 사용하기 가능하다.* StartCoroutine을 사용할 수 없다.

 

OnEnable : Awake Start와 달리 스크립트가 활성화 될 때 마다 호출이 되는 이벤트 함수

 

Start : 게임 시작과 함께 실행이 되며, Update 함수가 호출되기 전(첫 프레임이 시작하기전)에 한번만 호출이 된다. 

 

FixedUpdate : 프레임과 상관없이 시간 기준[default 0.2초]으로 호출된다. 주로 물리 엔진을 사용하는 경우 체크한다. 

 

OnTrigger : [충돌 함수] 두 오브젝트가 물리 연산을 하지 않고 충돌할 때 사용한다.

 

OnCollision : [충돌 함수] 두 오브젝트가 물리 법칙에 영향을 받을 때 사용한다.

 

Update : 오브젝트가 활성화 상태일때 한 프레임에 한번씩만 호출되는 함수이다.  매 프레임에 한 번, 매 프레임마다 반복 실행이 된다.

 

LateUpdate : Update에서 오브젝트를 이동 시킨 후 LateUpdate에선 오브젝트 좌표를 추적해 카메라의 좌표를 이동시키는 경우에 사용한다.

 

OnDisable : 게임 오브젝트 또는 스크립트가 비활성화 되었을 때 호출되는 함수이다.

 

OnDestroy : 상속받는 객체가 파괴될 때 호출되는 함수이다. 

 

 

 

728x90