이벤트 함수
- 모든 컴포턴트에 이벤트 함수 특정 순서, 조건에 따라 실행됨.
- 예를 들어 start 함수 실행하라는 메세지를 보내게 되면 모든 게임 오브젝트에 컴포넌트는 start 함수가 있는지
검사 및 실행.
다뤄볼 이벤트 함수
- 초기화를 위한 이벤트 함수 : Awake(), Start(), OnEnable()
- 업데이트를 위한 이벤트 함수 : Update(), LateUpdate(), FixedUpdate()
- 오브젝트 파괴를 위한 이벤트 함수 : OnDestroy()
- 종료를 위한 이벤트 함수 : OnApplicationQuit(), OnDisable()
초기화를 위한 이벤트 함수
- 새로운 스크립트 및 오브젝트 생성함. 이후 스크립트 컴포넌트까지 생성.
Awake 함수
- 컴포넌트 edit에 들어가서 class 안에 있는 내용에 Awake 함수 사용.
- private void Awake() > 해당 괄호 안에 매개변수가 들어가는 경우도 있음.
- 현재 씬에서 게임오브젝트가 활성화 되어 있을 때 1회 호출.
컴포넌트가 비활성화 상태여도 오브젝트가 활성화 되어 있으면 호출 가능.
- 데이터 초기화 하는 용도로 사용.
- 게임오브젝트가 비활성화 되었다가 활성화가 되는 시점에 다시 awake 함수 실행됨.
Start 함수
- 현재 씬에서 게임오브젝트와 컴포넌트가 모두 활성화 되어 있을 때 1회 호출.
- 데이터를 초기화 하는 용도로 사용.
- 첫 번째 업데이트 함수가 실행되기 직전에 호출.
- 초기화 함수 호출 순서 Awake() > OnEnable() > Start()
- 호출 순서 및 조건이 Awake 함수와 약간 다름.
OnEnable() 함수
- 컴포넌트가 비활성화 되었다가 활성화 될 때 마다 1회 호출
- 위 결과처럼 OnEnable 함수는 컴포넌트 뿐만 아니라 게임오브젝트가 비활성화 된 후 활성화 되면 실행됨.
초기화를 위한 이벤트 함수
Update() 함수
- 현재 씬이 실행된 후 컴포넌트가 활성화되어 있을 때 매 프레임마다 호출.
- 같은 프레임 같은 결과를 묶어서 호출할 수 있음.
- 업데이트 함수에 관한 내용만 계속해서 증가.
LateUpdate() 함수
- 현재 씬에 존재하는 모든 게임오브젝트의 Update() 함수가 1회 실행된 후 실행됨.
- 업데이트 함수 호출 순서 : Update() > LateUpdate()
- 호출 순서만 다르고 Update와 역할은 똑같음.
- Update와 호출되는 숫자도 같음.
FixedUpdate() 함수
- 프레임의 영향을 받지 않고 일정한 간격으로 호출.
- Fixed Timestep 변수로 조절 가능.
- Update와 LateUpdate 함수 모두 fps 영향을 받기 때문에 fps가 62면 1초에 60번, 82번이면 1초에 80번 호출.
FixedUpdate는 1초에 50번으로 프레임의 영향을 받지 않고 정해진 횟수만큼만 호출.
- Fixed Update는 1초에 50번만 노출.
오브젝트 파괴를 위한 이벤트 함수
OnDestroy() 함수
- 게임오브젝트가 파괴될 때 1회 호출.
- 씬이 변경되거나 게임이 종료될 때도 오브젝트가 자동 삭제될 때 호출.
종료를 위한 이벤트 함수
OnApplicationQuit() 함수
- 게임이 종료될 때 1회 호출.
- editor에서는 플레이 모드를 중지할 때 호출.
OnDisable() 함수
- 컴포넌트가 활성화 되었다가 비활성화 때마다 1회 회출.
'유니티' 카테고리의 다른 글
유니티 04. 2D 스프라이트 / 애니메이션 (1) | 2024.05.01 |
---|---|
유니티 04. 플랫폼 게임에서의 플레이어 이동, 점프 구현 (1) | 2024.05.01 |
유니티 03. 게임오브젝트 생성 & 삭제 함수 및 Instantiate() 활용 (0) | 2024.04.17 |
유니티 02. 게임오브젝트 (0) | 2024.04.10 |
유니티 01. 에디터 인터페이스, 게임 오브젝트 & 컴포넌트 (0) | 2024.04.03 |