유니티 메시지 이벤트 함수 란?
- 유니티가 보내는 메시지에 반응하는 함수
- 포함할 경우 유니티 메시지에 반응하지만, 포함하지 않을 경우 무시한다.
- 스크립트는 유니티 엔진이 보내는 메시지에 반응하여 자신의 행동을 정의한다.
Awake 함수

- 생성자와 비슷한 함수이며, 스크립트가 씬에 포함되어 있을 때 1회만 호출되는 함수
- 스크립트가 비활성화된 상태여도 인스턴스 시 1회 호출되며
- 만약 스크립트를 포함한 게임오브젝트 자체가 비활성화 상태인 경우 호출되지 않으며
- 게임오브젝트가 활성화될 때까지 기다렸다가 활성화되면 호출해 준다.
- 대표적으로 자신의 컴포넌트 혹은 클래스의 필드를 초기화하는 함수로 사용한다.
OnEnable 함수

스크립트가 활성화되는 경우 함수 호출하는 함수 비활성화에서 활성화될 시에 호출한다.
OnDisable 함수

스크립트가 비 활성화되는 경우 함수 호출하는 함수 활성화에서 비 활성화 될 시에 호출한다.
Start 함수

- 씬에 미리 스크립트 활성화 된 경우 첫 번째 프레임 업데이트 전에 1회 실행되는 함수이다.
- 시작 시 스크립트가 비활성화 상태였다면 활성화시 1회 호출해준다.
- 동적으로 생성된 인스턴스된 스크립트는 생성시 Start함수를 호출하지 않는다.
- 게임오브젝트의 스크립트는 누가 먼저 호출되는지는 알수 없지만.
- 모든 오브젝트의 스크립트는 Awake를 호출이 다 되고나서 Start가 호출된다.
- 대표적으로 Start 함수에선 다른 인스턴스의 참조를 가져오는 함수로 사용한다.
Update 함수

1프레임 당 1번 호출되는 함수이다. 실행중 반복적인 일을 수행할떄 사용한다.
컴퓨터마다 사양이 다르기 때문에 초당 프레임 수가 다를 수 있다.
그래서 그 프레임 간격을 계산하여 보통 프레임마다 동작을 수행할때에는 Time.deltaTime을 곱하여 보간한다.
LateUpdate 함수

씬의 모든 게임오브젝트의 인스턴스 Update함수가 진행된 후 프레임당 1번 호출하는함수
예시로 캐릭터 이동을 다완료한 상태에서 카메라를 뒤 따라가게끔 하고싶을때 사용할수있다.
FixedUpdate 함수

- 앞서 두 Update랑은 다른함수이다. 위에 2개의 Update함수는 프레임마다 호출되는 방면
- FixedUpdate는 프레임속도와 관계없이 신뢰할 수있는 타이머에서 호출된다.
- 프레임 속도가 낮은경우 프레임당 여러 번 호출될 수 있으며
- 프레임 속도가 높은 경우 프레임 사이에 호출되지 않을 수있다.
- 타이머로 호출되는 경우라 물리 기반의 기능을 수행할때 적합하며
- 움직임을 계산할때 Time.deltaTime을 사용할필요가없다.
'프로그래밍 > 유니티' 카테고리의 다른 글
| 다양한 유니티 Batching 최적화 기법들 (0) | 2024.06.19 |
|---|---|
| 텍스쳐(Texture) POT 와 NPOT (0) | 2023.12.24 |
| 유니티 게임 오브젝트(GameObject)와 컴포넌트(Component) 기본 (0) | 2023.12.09 |
