유니티의 생명주기 함수들인 Update/FixedUpdate / LateUpdate은 각각 다른 시기에 호출되며, 실행 프레임과 관련하여 다음과 같은 차이점이 있습니다.
Update
프레임마다 호출됩니다.
일반적으로 게임 오브젝트의 위치, 애니메이션, 사용자 입력 등과 같이 매번 업데이트되어야 하는 로직에 사용됩니다.
주로 그래픽 관련 작업을 수행합니다.
FixedUpdate
물리 엔진 업데이트 주기에 따라 호출됩니다. 기본적으로 초당 50회 호출됩니다.
(그래서 컴퓨터 성능이 좋으면 매 프레임마다 FixedUpdate가 안 일어날 수 있고 반대로 컴퓨터가 안좋으면 갑자기 많은 FixedUpdate가 일어나서 렉걸린 현상처럼 일어납니다.)
물리 엔진 시물레이션 사용됩니다. 게임 오브젝트의 물리적 상태를 변경하는 코드는 주로 이 곳에서 실행됩니다.
프레임 속도와 관계없이 일정한 간격으로 호출되므로. 게임 로직이 시간에 따라 일관된 결과를 보장하는 데 사용됩니다.
LateUpdate
모든 Update 호출이 완료된 후 호출됩니다.
보통 카메라 트래킹, 플레이어 위치 조정, GUI 업데이트 등과 같이 UPdate 후에 발생해야 하는 작업에 사용됩니다.
이것은 모든 프레임이 완료된 후에 실행되기 때문에 보통 카메라나 오브젝트의 위치 조정과 같은 작업에 적합합니다.
Update는 그래픽과 사용자 입력과 같이 프레임 업데이트해야 하는 작업에 사용되며, FixedUpdate는 물리 엔진 업데이트에 사용되고 사용되고 시간 간격에 의존합니다. LateUpdate는 다른 업데이트가 완료된 후에 추가적인 작업에 사용됩니다.