Unity에서 일시 정지 메뉴 만들기

일시 정지 메뉴를 추가하는 것은 모든 Unity 게임에서 매우 중요하며, 플레이어에게 숨을 쉬고 옵션에 액세스할 수 있는 순간을 제공합니다. 이 튜토리얼에서는 코드 예제와 설명을 포함하여 생성 과정을 안내합니다.

1. 일시 중지 메뉴 디자인

  • 버튼(재개, 옵션, 종료)을 포함하여 원하는 레이아웃을 스케치합니다.
  • 덜 방해적인 느낌을 주기 위해 투명 패널을 사용하는 것을 고려해보세요.

2. 캔버스 만들기

  • 계층 패널에서 마우스 오른쪽 버튼을 클릭하고 "UI -> Canvas"을 선택합니다.
  • 올바른 위치 지정을 위해 "Render Mode"를 "Screen Space - Overlay"으로 설정합니다.

3. 메뉴 패널 구축

  • 캔버스 아래에서 마우스 오른쪽 버튼을 클릭하고 "UI -> Panel"을 선택합니다.
  • 디자인에 따라 패널의 크기를 조정하고 위치를 지정합니다.
  • 더 나은 구성을 위해 이름을 "PauseMenu"로 바꿉니다.

4. 버튼 추가

  • PauseMenu 패널 내에서 마우스 오른쪽 버튼을 클릭하고 "UI -> Button."
  • 원하는 각 버튼(재개, 옵션, 종료)에 대해 반복합니다.
  • 적절하게 이름을 지정하십시오(예: "ResumeButton").
  • 텍스트, 크기, 위치를 맞춤설정하세요.

5. 논리 스크립팅

6. 일시 정지 기능

'PauseMenu.cs'

public class PauseMenu : MonoBehaviour
{
    public bool isPaused; // Flag to track pause state

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            // Toggle pause state on Escape key press
            isPaused = !isPaused;
            if (isPaused)
            {
                PauseGame();
            }
            else
            {
                ResumeGame();
            }
        }
    }

    void PauseGame()
    {
        // Set Time.timeScale to 0 to pause gameplay
        Time.timeScale = 0;
        // Make PauseMenu panel visible (activate its gameObject)
        PauseMenu.gameObject.SetActive(true);
    }

    void ResumeGame()
    {
        // Set Time.timeScale back to 1 to resume gameplay
        Time.timeScale = 1;
        // Hide PauseMenu panel (deactivate its gameObject)
        PauseMenu.gameObject.SetActive(false);
    }
}

7. 버튼 상호작용

  • Inspector 창에서 각 버튼을 선택합니다.
  • "OnClick" 옆의 "+"를 클릭하고 'PauseMenu' 스크립트를 필드로 드래그합니다.
  • 적절한 기능을 선택합니다(예: ResumeButton의 ResumeGame).

8. 추가 터치

  • 버튼 스타일을 사용자 정의하고, 사운드 효과를 추가하고, 옵션 메뉴를 구현하세요.
  • 여러 장면에서 재사용이 가능하도록 prefabs 사용을 고려해보세요.

결론

이 가이드가 Unity에서 작업 일시 중지 메뉴를 만드는 데 도움이 되기를 바랍니다. 더 많은 기능을 추가하고 특정 게임의 요구 사항에 맞게 조정하여 이 기반을 확장하는 것을 잊지 마십시오.

추천 기사
Unity용 메인 메뉴 튜토리얼
Unity를 위한 필수 포스트 프로세싱 팁
Unity에서 간단한 잔디 셰이더 만들기
Unity에서 승자 화면 UI 만들기
Unity에서 비행 시뮬레이터 만들기
Unity에서 VHS 테이프 필터 효과 만들기
Unity 프로젝트에 적합한 검 모델 선택