게임 개발에서 엔딩 화면은 플레이어 경험을 마무리짓는 중요한 요소입니다. 이 강좌에서는 유니티에서 간단한 엔딩 화면을 제작하는 방법을 설명하고, 특히 패배 조건에서의 엔딩 화면을 구현하는 데 중점을 둘 것입니다.
1. 유니티 설치 및 프로젝트 설정
유니티를 설치한 후, 새로운 2D 또는 3D 프로젝트를 생성합니다. 게임의 기본 구조를 구성한 다음, 엔딩 화면을 위한 전용 씬을 만들어야 합니다. 새로운 씬을 생성하는 방법은 다음과 같습니다:
- 파일(File) → 새 씬(New Scene)을 선택합니다.
- 씬을 저장(Save)합니다. 예를 들어, “EndingScreen”이라고 이름 짓습니다.
2. 기본 UI 요소 추가하기
엔딩 화면을 구성하기 위해 사용자 인터페이스(UI) 요소를 추가해야 합니다. 유니티의 UI 시스템을 사용하여 버튼, 텍스트 및 이미지 요소를 추가할 수 있습니다. 다음 단계를 따르세요:
- Hierarchy창에서 우클릭하고 UI → Canvas를 선택하여 새로운 캔버스를 생성합니다.
- 캔버스 안에 UI → Panel을 추가하여 배경을 만듭니다.
- Panel 내부에 UI → Text를 추가하여 “게임 오버” 메시지를 표시합니다.
- UI → Button을 추가하여 “다시 시작” 버튼을 생성합니다.
- Text와 Button의 속성을 조정하여 원하는 스타일로 변경합니다.
2.1 텍스트 속성 조정
텍스트 요소를 선택하고 Inspector 창의 Text 속성에서 적절한 메시지를 입력합니다. 폰트 크기, 색상 등을 변경하여 가독성을 높입니다.
2.2 버튼 속성 조정
버튼의 텍스트를 “다시 시작”으로 설정하고, 버튼 클릭 시 특정 메서드를 호출하도록 설정합니다. 이를 위해 Button 컴포넌트의 On Click() 이벤트에 메서드를 추가합니다.
3. 패배 조건 설정하기
게임에서 패배 조건을 설정하여 엔딩 화면으로 전환할 수 있는 이벤트를 만들어야 합니다. 예를 들어, 플레이어의 체력이 0이 되었을 때 엔딩 화면으로 이동하도록 설정할 수 있습니다.
- Player 스크립트에서 체력 감소 로직을 구현합니다.
- 체력이 0이 되었을 때,
SceneManager.LoadScene("EndingScreen");
을 호출하여 엔딩 화면으로 이동합니다.
4. 엔딩 화면 스크립트 구현하기
엔딩 화면 스크립트는 버튼 클릭 시 게임을 다시 시작하도록 구현할 것입니다. 다음은 엔딩 화면을 관리하는 스크립트의 예입니다.
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class EndingScreen : MonoBehaviour {
// 다시 시작 버튼을 클릭했을 때 호출되는 메서드
public void OnRestartButtonClicked() {
// 게임을 처음 씬으로 다시 시작
SceneManager.LoadScene("GameScene");
}
}
5. 엔딩 화면 UI와 스크립트 연결하기
이제 엔딩 화면 스크립트를 엔딩 화면 캔버스에 추가하고, 버튼의 On Click() 영역에 해당 메서드를 연결해야 합니다.
- 패널 또는 캔버스 객체를 선택합니다.
- Inspector 창에서 “Add Component”를 클릭하고, “EndingScreen” 스크립트를 추가합니다.
- Button 객체를 선택하고, On Click() 이벤트에 EndingScreen 스크립트를 드래그하여 넣습니다.
- 드롭다운 메뉴에서 “OnRestartButtonClicked()” 메서드를 선택합니다.
6. 최종 테스트 및 개선하기
엔딩 화면이 잘 작동하는지 확인하기 위해 게임을 실행하고 패배 조건을 유도합니다. 엔딩 화면이 정상적으로 나타나고 버튼 클릭 시 game scene으로 돌아가는지 확인합니다. 필요한 경우 UI 요소의 배치나 스타일을 조정하여 개선합니다.
6.1 추가 기능 구현하기
엔딩 화면에 통계 정보, 점수 또는 재시작 버튼 말고도 다양한 기능을 추가할 수 있습니다. 예를 들어, 다음과 같은 기능을 고려해볼 수 있습니다:
- 게임 타이머 표시
- 최고 점수 기록
- 메인 메뉴로 돌아가기 버튼
결론
이번 강좌에서는 유니티를 사용하여 패배 시 엔딩 화면을 제작하는 방법에 대해 알아보았습니다. 게임의 엔딩 화면은 플레이어에게 중요한 인상을 남기며, 게임 플레이에 대한 피드백을 제공하는 역할을 합니다. 여러분의 게임에 엔딩 화면을 추가하여 플레이어 경험을 더욱 향상시킬 수 있기를 바랍니다.