장면 간 전환

페이지 업데이트 :
페이지 생성 날짜 :

검증 환경

윈도우
  • 윈도우 11
Unity 에디터
  • 2020.3.25f1
입력 시스템 패키지
  • 1.2.0

이 팁의 전제 조건

이 팁에 대한 설명의 전제로 다음 설정이 미리 이루어졌습니다.

장면 간 전환 방법 알아보기

씬은 이른바 '씬'입니다만, 유니티에서는 '씬'이라는 단어를 그대로 사용하고 있기 때문에, 씬이라는 표현으로 설명하겠습니다.

장면은 종종 게임의 장면 사이를 전환합니다. 예를 들어 시작 메뉴에서 게임을 시작하고 액션이 시작되면 장면 전환으로 생각할 수 있습니다. 또한 동작 중에 메뉴 화면을 여는 동작도 메뉴 표현에 따라 장면 전환이 됩니다.

이러한 종류의 장면 전환은 Unity에서 구현해야 하며 여러 가지 방법이 있습니다. 예를 들어 게임에는 "Scene (in Unity)"이 하나만 있어야 합니다. 게임 장면이 변경되면 이전 장면의 모든 개체가 삭제되고 다음 장면에 필요한 개체가 생성됩니다. 그러나 이 방법은 하나의 씬만 제공한다는 장점이 있지만 개체 전환을 프로그래밍 방식으로 관리해야 한다는 단점이 있습니다.

이 팁에서는 장면 수만큼 "Scene"파일을 준비하고 장면 전환에 필요한 개체를 미리 장면에 배치하는 방법을 구현하고 싶습니다. 장면 파일 사이를 전환하기만 하면 되기 때문에 실제 장면 간에 전환하는 것은 매우 쉽습니다.

장면 준비

먼저 일반 프로젝트를 만듭니다. 이미 입력 시스템 패키지를 준비하고 카메라를 구성했다고 가정합니다.

이번에는 2개의 장면 파일을 준비하고, 1번째 장면에서 버튼을 클릭해 2번째 장면으로 전환하는 조작을 실시합니다.

기존 장면의 SampleScene 이름을 지정해야 하므로 로 SampleScene1 변경합니다.

그런 다음 프로젝트의 빈 영역을 마우스 오른쪽 버튼으로 클릭하고 "만들기"에서 "장면"을 선택합니다. 프로젝트 탭 아래의 + 버튼에서 추가할 수도 있습니다.

새 장면 파일이 추가되므로 이름을 SampleScene2 지정합니다.

SampleScene1 두 번 클릭하여 장면을 열고 아래와 같이 개체를 배치합니다. 버튼을 클릭하면 SampleScene2 로 전환할 수 있으므로 레이아웃이 적절할 수 있습니다.

SampleScene2 두 번 클릭하여 장면을 열고 아래와 같이 개체를 배치합니다. 무엇이 바뀌 었는지 알고 싶기 때문에 무엇을 넣든 상관 없습니다.

장면을 만든 후 메뉴에서 "파일 > 빌드 설정"을 엽니다.

빌드에 SampleScene2 포함된 씬을 드롭인합니다.

아래와 같이 Build Settings가 추가되면 닫습니다.

장면 전환 과정

장면 전환은 스크립트로 이루어지기 때문에 스크립트를 작성하십시오. 이름은 임의적이지만 이 경우에는 SceneChange .

스크립트는 다음과 같습니다.

using UnityEngine;
using UnityEngine.SceneManagement;  // 追加

public class SceneChange : MonoBehaviour
{
  /// <summary>ボタンをクリックしたときに呼ばれます。</summary>
  public void OnClick()
  {
    // 指定したシーンを読み込み他のシーンは削除します
    SceneManager.LoadScene("SampleScene2", LoadSceneMode.Single);
  }
}

내용은 매우 간단 SceneManager.LoadScene 하며 메서드를 호출하여 장면 사이를 전환할 수 있습니다.

첫 번째 인수는 전환할 장면의 이름입니다.

두 번째 인수로 LoadSceneMode.Single 지정하면 현재 장면을 닫는 동안 지정된 장면만 열 수 있습니다. 단순히 장면 추가 LoadSceneMode.Additive 라는 매개 변수도 있지만 이 기사에서는 설명하지 않겠습니다.

스크립트를 저장한 후 스크립트를 SampleScene1 열고 에 첨부합니다. EventSystem 연결하는 모든 개체가 될 수 있습니다.

메서드를 호출할 수 있도록 SceneChange 단추의 click 이벤트를 연결된 개체로 설정합니다 OnClick .

게임을 실행하고 버튼을 클릭한 후 장면이 바뀌는지 확인하십시오.