유니티 기초 강좌: 엔딩 화면 제작

본 강좌에서는 유니티를 사용하여 게임의 엔딩 화면을 만드는 방법을 알아보겠습니다. 게임 개발에서 엔딩 화면은 플레이어가 게임을 완료했음을 알리는 중요한 요소이며, 게임의 주제를 잘 전달하는 것이 필요합니다. 각 단계를 세부적으로 설명하며, 필요한 코드 예제와 함께 진행하겠습니다.

1. 엔딩 화면의 구성 요소 이해하기

엔딩 화면은 여러 요소로 구성되어 있으며, 이러한 요소들은 게임의 스토리와 분위기를 반영합니다. 일반적으로 다음과 같은 요소가 포함됩니다:

  • 게임 로고: 게임의 아이덴티티를 나타내는 그래픽.
  • 감사 메시지: 플레이어의 참여에 대한 감사의 표현.
  • 재시작 버튼: 플레이어가 게임을 다시 시작할 수 있는 옵션.
  • 종료 버튼: 게임을 종료하는 옵션.
  • 랭킹 또는 기록: 플레이어의 업적을 보여주는 공간.

2. 유니티 프로젝트 설정하기

첫 번째 단계는 새 유니티 프로젝트를 만드는 것입니다. 유니티를 실행하고, 아래 단계를 따라 새로운 2D 프로젝트를 설정하십시오:

  1. 유니티 허브를 실행하고 ‘새 프로젝트’ 버튼을 클릭합니다.
  2. ‘2D’ 템플릿을 선택하고 프로젝트 이름을 입력합니다.
  3. 프로젝트의 저장 위치를 지정하고 ‘생성’ 버튼을 클릭합니다.

3. 엔딩 화면의 UI 디자인

유니티에서 엔딩 화면을 디자인하기 위해 UI 요소를 추가해야 합니다. 다음 단계에 따라 UI를 구성합니다:

  1. Hierarchy 창에서 우클릭하여 ‘UI > Canvas’를 선택하여 캔버스를 생성합니다.
  2. Canvas 아래에 ‘UI > Image’를 선택하여 배경 이미지를 추가합니다. 비율을 조정하여 전체 화면을 채웁니다.
  3. 배경 색깔을 설정하거나 이미지 파일을 드래그하여 배경으로 설정합니다.

이제 텍스트와 버튼을 추가하겠습니다:

  1. Canvas 아래에서 ‘UI > Text – TextMeshPro’를 선택합니다. 텍스트 객체를 생성하고, 제목을 입력합니다 (예: “게임 완료!”).
  2. 텍스트 속성을 조정하여 크기와 색상을 설정합니다.
  3. 같은 방법으로 ‘UI > Button’을 추가하고 버튼의 텍스트를 “재시작” 또는 “종료”로 설정합니다.

4. 엔딩 화면 UI 스크립트 작성하기

이제 엔딩 화면을 기능적으로 만들기 위한 스크립트를 작성하겠습니다. 신규 C# 스크립트를 생성하고, 이름을 ‘EndingScreen’으로 설정한 후 아래와 같은 코드를 작성합니다:

using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class EndingScreen : MonoBehaviour
{
    public Button restartButton;
    public Button exitButton;

    void Start()
    {
        restartButton.onClick.AddListener(RestartGame);
        exitButton.onClick.AddListener(ExitGame);
    }

    void RestartGame()
    {
        SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex - 1);
    }

    void ExitGame()
    {
        Application.Quit();
    }
}
    

작성한 스크립트를 엔딩 화면의 Canvas에 추가한 후, 버튼과 관련된 함수에 각각 할당합니다.

5. 게임 로직과 엔딩 화면 연동하기

이제 게임이 종료될 때 엔딩 화면이 나타나도록 게임 로직을 수정해야 합니다. 게임의 마지막 상태에서 엔딩 화면을 호출하는 코드를 추가합니다:

using UnityEngine;

public class GameManager : MonoBehaviour
{
    public GameObject endingScreen;

    public void GameOver()
    {
        endingScreen.SetActive(true);
    }
}
    

이제 게임 오버 조건을 설정하고 endingScreen 변수에 엔딩 화면의 Canvas를 할당하여 게임이 종료되었을 때 엔딩 화면이 보이도록 설정합니다.

6. 엔딩 화면의 애니메이션 추가하기

엔딩 화면에 애니메이션 효과를 추가하여 더 매력적인 사용자 경험을 제공할 수 있습니다. 아래의 방법으로 애니메이션을 추가할 수 있습니다:

  1. 엔딩 화면 Canvas를 선택하고 ‘Add Component’를 클릭합니다. ‘Animator’를 추가합니다.
  2. Project 창에서 ‘Animation’ 폴더를 생성하고, 그 폴더에서 ‘Create > Animation’을 선택하여 새로운 애니메이션을 만듭니다.
  3. Animation 창에서 ‘Add Property’를 클릭하고 색상 또는 위치 등 원하는 속성을 추가합니다. 그리고 이 애니메이션을 Animate the End Game Canvas에 연결합니다.

7. 최종 점검과 빌드하기

모든 설정을 마친 후, 게임을 플레이하여 엔딩 화면이 제대로 작동하는지 확인합니다. 문제가 없다면, 게임을 빌드할 준비를 합니다. 빌드하고 실행할 플랫폼을 선택하고 게임을 빌드합니다:

  1. 상단 메뉴에서 ‘File > Build Settings’를 선택합니다.
  2. 플랫폼을 선택한 후 ‘Build’ 버튼을 클릭하여 빌드를 시작합니다.

결론

이번 강좌에서는 유니티를 사용하여 간단한 엔딩 화면을 제작하는 과정을 살펴보았습니다. 게임의 엔딩 화면은 플레이어에게 깊은 인상을 남기는 중요한 요소이므로, 항상 신경 써야 합니다. 다양한 UI 디자인과 애니메이션을 적용하여 나만의 독창적인 엔딩 화면을 만들어보세요.

이 강좌를 통해 기초적인 유니티 사용법뿐만 아니라 게임 구성 요소에 대한 이해를 높였기를 바랍니다. 앞으로 더 다양한 유니티 강좌를 통해 많은 기능과 기술을 익혀보시길 바랍니다!