이벤트 함수 - TeamCrazyPerformance/Game_study GitHub Wiki
이벤트 처리 순서
- Unity 스크립트를 실행하면 사전에 지정한 순서대로 여러 개의 이벤트 함수가 실행된다.
중요 함수
- Awake: 이 함수는 항상 Start 함수 전에 호출되며 프리팹이 인스턴스화 된 직후에 호출된다. 게임 오브젝트가 시작하는 동안 비활성 상태인 경우 Awake 함수는 활성화될 때까지 호출되지 않는다.
- Start: 스크립트 인스턴스가 활성화된 경우에만 첫 번째 프레임 업데이트 전에 호출된다. 씬 에셋에 포함된 모든 오브젝트에 대해 Update 등 이전에 호출된 모든 스크립트를 위한 Start 함수가 호출된다. 따라서 게임플레이 도중 오브젝트를 인스턴스화될 때는 실행되지 않는다.
Start vs Awake
Awake 함수는 스크립트 초기화에 사용되며, 다른 스크립트와의 상호작용이 필요한 경우에 사용된다. Start 함수는 초기 설정이나 초기화에 사용되며, Awake 함수 이후에 실행되며 다른 오브젝트와의 상호작용을 위한 초기 준비 작업을 할 때 유용하다.
업데이트 순서
- 게임 로직, 상호작용, 애니메이션, 카메라 포지션의 트랙을 유지할 때, 사용 가능한 몇몇 다른 이벤트가 존재한다. 일반적인 패턴은 Update 함수에 대부분의 작업을 수행하는 것이지만, 사용할 수 있는 다른 함수도 있다.
- FixedUpdate: FixedUpdate 함수는 일정한 간격으로 호출되는 함수로서, 물리 업데이트에 사용된다. 보통 Update 함수와는 다른 프레임 레이트로 호출되므로 물리 시뮬레이션과 관련된 작업은 FixedUpdate 함수에서 처리하는 것이 좋습니다. FixedUpdate는 프레임 속도와 관계없이 신뢰할 수 있는 타이머를 호출하기 때문에 움직임 계산을 적용할 때 Time.deltaTime 만큼 값을 곱할 필요가 없다.
- Update: Update 함수는 프레임마다 호출되는 함수로서, 게임 루프의 일부로서 주기적으로 실행된다. Update 함수는 주로 게임 오브젝트의 상태나 동작을 업데이트하고, 사용자 입력에 대응하고, 게임 로직을 처리하는 데 사용된다.
- LateUpdate: LateUpdate 함수는 Update 함수 이후에 호출되는 함수로서, 주로 카메라 이동이나 타겟 따라가기와 같은 작업에 사용된다. LateUpdate 함수는 다른 모든 업데이트가 끝난 후에 실행되므로 카메라 이동이나 타겟 따라가기 등을 처리할 때 유용하다.