1. 시험환경
· 윈도우
· 유니티(Unity) 6.2
2. 목적
· 멀티(multi) 화면(Scene) 구성하는 방법 및 버튼 클릭 시 Scene 전환 방법을 알아보자.
3. 적용
① 신규 프로젝트를 생성한다.
- Template: Universal 3D
- Project name: chap10_sceneChange
- Location: C:\workspace-unity

② 프로젝트 초기화 시 자동으로 생성된 SampleScene을 삭제한다.
- 경로: Assets/Scenes
- 파일명: SampleScene.unity
![]() |
![]() |
③ "Create" → "Scene" → "Scene"을 생성하여 시작, 게임, 종료 Scene을 각각 만든다
- 경로: Assets/Scenes
- 파일명: StartScene.unity , GameScene.unity , FinishScene.unity
![]() |
![]() |
④ "StartScene" → "Hierarchy 창" → "마우스 우클릭 팝업 메뉴" → "UI" → "Text - TextMeshPro"
- Object 이름: SceneText
- Text Input: "Start Scene"
![]() |
![]() |
![]() |
![]() |
⑤ "StartScene" → "Hierarchy 창" → "마우스 우클릭 팝업 메뉴" → "UI" → "Button - TextMeshPro"
- Object 이름: Button
- Object (PosX, PosY): (200, -100)
![]() |
![]() ![]() |
![]() ![]() |
![]() |
⑥ "GameScene" → "Hierarchy 창" → "마우스 우클릭 팝업 메뉴" → "UI" → "Text - TextMeshPro"
- Object 이름: SceneText
- Text Input: "Game Scene"
![]() |
![]() |
![]() |
![]() |
⑦ "GameScene" → "Hierarchy 창" → "마우스 우클릭 팝업 메뉴" → "UI" → "Button - TextMeshPro"
- Object 이름: Button
- Object (PosX, PosY): (200, -100)
![]() |
![]() ![]() |
![]() ![]() |
![]() |
⑧ "FinishScene" → "Hierarchy 창" → "마우스 우클릭 팝업 메뉴" → "UI" → "Text - TextMeshPro"
- Object 이름: SceneText
- Text Input: "Finish Scene"
![]() |
![]() |
![]() |
![]() |
⑨ "FinishScene" → "Hierarchy 창" → "마우스 우클릭 팝업 메뉴" → "UI" → "Button - TextMeshPro"
- Object 이름: Button
- Object (PosX, PosY): (200, -100)
![]() |
![]() |
![]() ![]() |
![]() |
⑩ "File"메뉴 → "Build Profiles"팝업창 → "Scene List"탭에서 구성한 모든 Scene을 추가한다.

⑪ 버튼 클릭시 화면 전환을 위한 Script 파일을 작성한다.
- 경로: Assets/Scripts
- 파일명: SceneLoader.cs
⑫ 각 Scene 마다 빈 객체를 생성해서 CS 파일을 임포트한다.
- Object 이름: SceneLoader (at StartScene / GameScene / Finish Scene 모든 씬에서 생성)
![]() |
![]() ![]() |
⑬ StartScene의 Button 객체에서 OnClick() 이벤트 시, GameScene이 나타나도록 설정한다.
- Runtime Only: SceneLoader객체 (Drag&Drop하여 임포트)
- function: LoadGameScene()
![]() |
![]() |
⑭ GameScene의 Button 객체에서 OnClick() 이벤트 시, FinishScene이 나타나도록 설정한다.
- Runtime Only: SceneLoader객체 (Drag&Drop하여 임포트)
- function: LoadFinishScene()
![]() |
![]() |
⑮ FinishScene의 Button 객체에서 OnClick() 이벤트 시, StartScene이 나타나도록 설정한다.
- Runtime Only: SceneLoader객체 (Drag&Drop하여 임포트)
- function: LoadStartScene()
![]() |
![]() |
4. 결과
· Play 버튼으로 실행하며 화면에서 Button을 클릭하면 화면이 전환되는 것을 확인할 수 있다.
![]() |
![]() |
![]() |
![]() |
'3D엔진' 카테고리의 다른 글
| [Unity] 피하기 게임(2) - Player 쫓아오는 적(Enemy) (0) | 2025.10.21 |
|---|---|
| [Unity] 피하기 게임(1) - 플레이어 이동 구현 (0) | 2025.10.17 |
| [Unity] 오브젝트 생성 및 파괴 (0) | 2025.10.09 |
| [Unity] Prefab 생성 및 개념 (0) | 2025.10.09 |
| [Unity] 점수 시스템과 UI 연결하기 (0) | 2025.10.09 |













































