프로젝트를 하면서 유니티 어떤 함수가 먼저 호출 될까? 라는 생각을 했지만 순서의 영향이 주는 프로젝트가 아니어서 넘어갔었는데 이참에 정리해보았다.
함수호출 순서로(위에서 부터 먼저 호출)
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
'유니티 > 레퍼런스' 카테고리의 다른 글
유니티)MaterialPropertyBlock (1) | 2019.10.03 |
---|---|
Unity) 유니티 이벤트함수 실행순서 / 라이프사이클,플로우차트(Script Lifecycle Flowchart) #2 (0) | 2019.08.22 |
유니티) Destroy와 DestroyImmediate (0) | 2019.06.05 |
유니티) Define / 전처리기 플랫폼 의존 컴파일 (0) | 2019.03.05 |
유니티) 라이트효과 PostProcessing (0) | 2019.03.02 |