Unity에서 게임을 일시 중지하는 방법

Unity의 pause 기능 구현에 대한 튜토리얼에 오신 것을 환영합니다. 이 간단하면서도 필수적인 기능은 플레이어 경험을 크게 향상시킬 수 있습니다. 단계별 가이드를 살펴보겠습니다.

1단계: PauseManager 스크립트 생성

  • Unity에 새 C# 스크립트를 생성하여 시작하고 이름을 "PauseManager" 또는 원하는 이름으로 지정하세요.

2단계: 일시 중지 기능 구현

  • 스크립트를 열고 기존 코드를 다음으로 바꿉니다.

'PauseManager.cs'

using UnityEngine;

public class PauseManager : MonoBehaviour
{
    private bool isPaused = false;

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            if (isPaused)
                ResumeGame();
            else
                PauseGame();
        }
    }

    void PauseGame()
    {
        Time.timeScale = 0f;
        isPaused = true;

        // Pause all audio
        AudioListener.pause = true;
    }

    void ResumeGame()
    {
        Time.timeScale = 1f;
        isPaused = false;

        // Resume all audio
        AudioListener.pause = false;
    }
}

3단계: 빈 게임오브젝트에 스크립트 연결

  • 장면에 빈 GameObject를 만들고 여기에 "PauseManager" 스크립트를 부착합니다. 이제 이 스크립트는 오디오 일시 중지 및 재개를 포함한 일시 중지 기능을 처리합니다.

4단계: 필요에 따라 사용자 정의

  • 게임 요구 사항에 따라 스크립트를 자유롭게 사용자 정의하세요. 특정 요구 사항에 맞게 키 트리거를 변경하거나 추가 기능을 추가하거나 동작을 수정할 수 있습니다.

결론

이제 런타임 중에 지정된 키(기본값은 Escape)를 누르면 게임이 모든 오디오의 일시 중지를 포함하여 원활하게 일시 중지됩니다. 다시 시작하면 게임과 오디오가 모두 원활하게 계속되어 더욱 몰입감 있는 게임 경험을 제공합니다.