# 게임 내 시간 및 실시간

> The configurable relationship between in-game time and real time and the potential effects.

[Time.timeScale](/engine/6000.0/script-reference/unity-engine/time/time-scale.md) 프로퍼티는 게임 월드에서 실시간을 기준으로 전달되는 속도를 정의합니다. `Time.timeScale` 값이 1.0이면 게임 내 시간이 실시간과 일치합니다. 값이 2.0이면 게임에서 시간이 실제보다 두 배 빠르게 경과되어 게임의 액션 속도가 빨라집니다. 값이 0.5면 게임플레이 속도가 절반으로 느려집니다. 값이 0이면 게임 내 시간이 완전히 중지됩니다.

`Time.timeScale`은 실행 속도를 줄이지는 않지만 대신 [Time.deltaTime](/engine/6000.0/script-reference/unity-engine/time/delta-time.md) 및 [Time.fixedDeltaTime](/engine/6000.0/script-reference/unity-engine/time/fixed-delta-time.md)의 `Update` 및 `FixedUpdate` 함수에 보고되는 시간 단계를 변경합니다.

시간 스케일을 줄이면 `Update` 함수가 똑같이 자주 호출될 수 있지만, 각 프레임의 `Time.deltaTime` 값은 더 작아집니다. 다른 스크립트 함수는 시간 스케일에 영향을 받지 않으므로, 예를 들어 게임이 일시 중지될 때 정상적으로 상호 작용할 수 있는 GUI를 표시할 수 있습니다.

슬로우 모션 같은 특수한 시간 효과의 경우 게임 시간의 흐름을 느리게 하여 코드의 애니메이션과 시간 기반 계산이 더 느리게 수행되도록 하는 것이 유용할 때도 있습니다. 또한 게임이 일시 정지되는 것처럼 게임 시간을 완전히 멈추게 할 수도 있습니다.

[Time](/engine/6000.0/manual/unity-editor/editor-features/comp-manager-group/class-time-manager.md) 창에는 시간 스케일을 전역으로 설정할 수 있도록 해 주는 프로퍼티가 있지만 일반적으로 [Time-timeScale](/engine/6000.0/script-reference/unity-engine/time/time-scale.md) 프로퍼티를 사용하여 스크립트에서 값을 설정하는 것이 더 유용합니다.

```
//C# script example
using UnityEngine;
using System.Collections;

public class ExampleScript : MonoBehaviour {
	void Pause() {
		Time.timeScale = 0;
	}
	
	void Resume() {
		Time.timeScale = 1;
	}
}
```

## 추가 리소스##additional-resources

* [프레임별 업데이트](/engine/6000.0/manual/scripting/object-oriented-development/managing-time-and-frame-rate/time-per-frame-updates.md)
* [프레임 속도 캡처](/engine/6000.0/manual/scripting/object-oriented-development/managing-time-and-frame-rate/time-capture-frame-rate.md)
