TimeScale

Noke·2025년 6월 2일

Unity TIL

목록 보기
19/31

유니티에서 게임 정지할 때에 보통 TimeScale을 0으로 조정해서 게임을 멈춘다.

이 TimeScale은 뭘까?


🚥 TimeScale

TimeScale은 실제 프레임과 DeltaTime에 대한 스케일 값을 조정하는 값이다.

기본적으로 1 값을 가지는데, 우리가 사용하는 DeltaTime 값은 사실 TimeScale을 곱한 값이다.

그래서, 우리가 TimeScale 값을 0으로 하면, 이 DeltaTime 값이 모두 0이 된다.
또한, FixedUpdate의 프레임도 0이 되어서 FixedUpdate 생명주기 함수도 작동하지 않는다.

그리고, 아래와 같은 것들이 작동하지 않는다.

  • FixedUpdate()
  • Rigidbody
  • Animator
  • Particle System
  • Invoke(), WaitForSeconds()

따라서, 위와 같은 것들이 멈추기 때문에 마치 일시정지가 된 것처럼 느껴진다.


✨ 마무리

오늘로 길었던 팀 프로젝트가 끝나게 되었다.

그래서, 평소 궁금했던 TimeScale에 대해서 조사해 보았다만, 아직도 GameManager 스크립트에서 bool 값으로 게임 상태를 컨트롤하는 게 더 편한 것 같다.

profile
유니티 개발자(진)

0개의 댓글