프로젝트를 하면서  유니티 어떤 함수가 먼저 호출 될까? 라는 생각을 했지만  순서의 영향이 주는 프로젝트가 아니어서 넘어갔었는데 이참에 정리해보았다.

 

함수호출 순서로(위에서 부터 먼저 호출)

 

Initializion (초기화부분)

 


Awake

호출되는 시점 :  스크립트 객체가 로딩될 때, 단 한번 호출됨

특징

1.  모든 오브젝트가 초기화 된 후 호출된다.

2. Start함수 전에 호출된다.

3. coroutine동작 불가능

 

OnEnable

호출되는 시점 :  스크립트가 켜질 때

특징

1.  플레이모드 중에 스크립트를 편집할 경우, 편집이 끝난 후 스크립트가 다시 로딩되면 호출됨(Awake와 Start는 호출되지 않음)

2.   Awake함수 호출 후  호출됨 

 

Start

호출되는 시점 :  Update함수가 처음 호출 될 때 Update함수 직전에, 단 한번 호출됨

특징

1.  Awake와 다르게  start함수는 스크립트가 켜져있을 때 호출된다. (Awake는 스크립트가 꺼진 상태에도 호출됨)

2. Awake함수는 항상 Start함수 호출되기 전에 호출 된다.


 

 

Physics (물리)


FixedUpdate

호출되는 시점 :  스크립트가 켜져 있을 때 매프레임마다 호출

특징

1.  설정한 값에  따라 일정한 간격으로 호출된다.

2. 모든 물리계산 업데이트는 FixedUpdate후 즉시 발생된다.

3. 일정한 시간으로 호출되기에 Time.deltaTime을 곱할 필요 없다.

4.  Rigidbdoy를 다룰 때  일정한 힘을 가할 때, Update함수 대신에 사용 

(불규칙적인 Update에서는 물리엔진충돌 검사 등이 잘 안될 수 있다.)  

 

yield WaitForFixedUpdate (코루틴)

호출되는 시점 :  모든 FixedUpdate가 모든 스크립트에 호출된 후 

특징

1.  당연히 yield코루틴 명령문에서만 사용 가능

 

OnTriggerXXX, OnCollisionXXX

특징은 여기서 정리했다.

https://funfunhanblog.tistory.com/13

 

유니티) 충돌체크 OnTriggerEnter , OnCollisionEnter (Collider, Collision) #2Roll a Ball 로 연습하기

OnTrigger , OnCollision 비교하기 Collider 유니티에서 충돌체크를 하기 위한 필요한 컴포넌트이다. 3D오브젝트를 생성하면 Collider가 자동적으로 추가 되어있다. 먼저 Trigger에 대해 살펴보자 1) void OnTrigg..

funfunhanblog.tistory.com

 


 

 

Input events


OnMouseXXX

특징 : 마우스입력으로 호출되는 이벤트함수

 


Unity) 유니티 이벤트실행순서 / 플로우차트(Script Lifecycle Flowchart) #2

https://funfunhanblog.tistory.com/253

 

 

 

 

 

유니티 - 매뉴얼: 이벤트 함수의 실행 순서

자동 메모리 관리를 이해하기 이벤트 함수의 실행 순서 Unity 스크립팅시, 미리 정의된 순서대로 실행되는 많은 이벤트 함수가 있습니다. 아래에서는, 실행 순서를 설명합니다. 에디터 __ Reset : __ Reset은 개체가 처음 연결되었을 때 스크립트의 프로퍼티로 초기화하는 데 호출됩니다. Reset 명령을 실행했을 때도 마찬가지입니다. 첫 번째 씬 로드 이 함수는 씬이 시작되면 호출됩니다(씬의 각 오브젝트에 대해 한 번). __ Awake : __이

docs.unity3d.com

+ Recent posts