Update 이벤트 메서드
Unity에서 프레임마다 호출되는 이벤트 메서드이다.
기본적으로 프레임 레이트에 맞춰 호출되며, 일반적으로 1초당 여러 번 호출된다.
주로 게임 오브젝트의 위치, 애니메이션, 입력 처리 등 실시간 업데이트에 사용된다.
프레임 레이트가 다를 경우, 프레임 속도에 따라 호출 주기가 달라질 수 있다.
FixedUpdate 이벤트 메서드
Unity의 물리 시뮬레이션 업데이트에 사용되는 이벤트 메서드이다.
기본적으로 고정된 간격(기본값은 0.02초, 50회/초)으로 호출된다.
주로 물리 연산, 충돌 처리, 이동 등 물리적인 계산에 사용된다.
물리 시뮬레이션의 안정성을 위해 FixedUpdate에서 물리 연산을 처리하는 것이 권장된다.
실제 구현에서 어떤 것을 사용할까?
게임 오브젝트의 위치나 애니메이션 등은 Update에서 처리하고,
물리적인 계산은 FixedUpdate에서 처리하는 것이 일반적인 패턴이다.
조작을 구현할 때는 보통 Update 메서드를 사용한다.
이는 Input 클래스의 입력을 프레임마다 체크하고 처리하기 위한 가장 적합하기 때문이다.
Update 메서드는 프레임마다 호출되므로, 입력의 변화를 실시간으로 감지하고 반응할 수 있다.
일반적인 조작은 사용자의 입력에 따라 게임 오브젝트를 이동시키거나 상호작용을 수행하는 것이다.
예를 들어 키보드나 마우스 입력을 감지하여 플레이어의 캐릭터를 움직이거나 점프시키는 경우,
이러한 입력 처리 코드를 Update 메서드에 작성한다.
이렇게하면 프레임마다 입력을 감지하고 게임 오브젝트에 적용할 수 있다.
중요한 점은, Input 클래스의 호출은 매 프레임마다 이루어져야 한다는 것이다.
FixedUpdate 메서드에서는 입력 처리가 제대로 동작하지 않을 수 있다.
FixedUpdate는 물리 시뮬레이션에 사용되는 메서드이므로, 입력 처리와는 별도로 동작하기 때문이다.
따라서, 조작을 구현할 때는 주로 Update 메서드에서 Input 클래스를 사용하여 입력을 처리하는 것이 일반적이다.
'유니티 개발 기술 > 스크립팅 & 프로그래밍' 카테고리의 다른 글
유니티에서 협업할 때 사용할만한 어트리뷰트 (0) | 2023.10.13 |
---|---|
Instantiate vs PrefabUtility.InstantiatePrefab (0) | 2023.10.11 |
GetComponent 함수 (0) | 2023.07.30 |
이벤트, 이벤트리스너, 이벤트핸들러, 콜백함수의 관계 (0) | 2023.07.29 |
Analytics 클래스의 다양한 함수와 프로퍼티 (0) | 2023.07.27 |