이 글은 PC 버전 TISTORY에 최적화 되어있습니다.
서론
이번 파트에서는 유니티의 씬과 씬을 전환하는 방법에 대해 알아보도록 하겠습니다.
씬 만들기
씬과 씬 전환을 위해서 먼저 두 개의 씬을 만들어 보도록 하겠습니다. 게임 느낌이 나도록 두 씬은 각각 Stage1, Stage2의 모습을 띄도록 하겠습니다.
바닥에 Plane을 깔고 원하는 색상을 입혀준 후 3D Text로 Stage1 을 찍어줍니다.
그리고 Hierarchy 뷰에 UI에서 버튼을 선택해 만들어줍니다.
완성하면 위와같이 Canvas 오브젝트와 그 자식으로 버튼이 보입니다.
Scene뷰의 좌측 상단의 2D를 눌러준 후 스크롤과 트랜스폼 이동으로 위와 같이 버튼도 배치를 해줍니다. 이렇게 생성된 UI는 3D공간의 변화와 무관하게 유리창처럼 씬의 앞에 띄워져있습니다. |
버튼 객체의 하위 Text에서 버튼의 내용물을 설정할 수 있습니다. 'Stage2로 이동' 이라고 설정해주겠습니다.
게임을 실행해보면 메인 카메라를 통해보는 3D공간과 UI 객체가 존재하는 2D 공간이 한꺼번에 보여집니다.
이러한 씬들의 전환을 위해서는 File ☞ Build & Settings...에 씬을 등록해줘야합니다.
Add Open Scene를 눌러줍니다.
씬이 저장되어있지 않다면 저장해주고 등록을 완료했으면 창을 닫아줍니다.
현재 씬을 다른 이름으로 복사하여 2번 째 씬을 만들어보도록 하겠습니다.
첫 씬과 완전히 같은 두 번째 씬이 생성되었습니다.
3D Text의 내용을 'Stage 2'로 설정해줍니다.
Button 의 내용물을 'Stage 1로 이동'으로 설정해줍니다.
위와 같이 Plane 오브젝트도 색상을 달리하여 구분이 쉽도록 해줍니다.
이 씬도 아까와 같은 방법으로 등록해줍니다.
스크립트 작성
유니티 5.3이 되면서 이전의 방법과 다르게 SceneManger.LoadScene(string 호출할 씬명);을 사용합니다. 여기서 주의해야할 점은 using UnityEngine.SceneManagement;를 상단에 선언해줘야합니다. 생성된 두 함수는 아직 실행되지 않았기 때문에 아무 일도 일어나지 않습니다. |
생성한 스크립트를 메인카메라에 붙여줍니다.
씬 전환
UI 버튼을 클릭했을 때 씬을 전환하기 위해 버튼 객체의 On Click()의 +를 눌러주고 None 부분을 클릭합니다.
버튼을 클릭했을 때 위에 생성한 스크립트 내의 함수를 실행해야하기 때문에 스크립트가 붙어있는 메인카메라를 선택합니다.
스크립트 컴포넌트 내의 SceneChange2() 메소드를 설정하면 버튼 클릭 시 저 메소드가 실행되어 씬이 전환 됩니다. Stage 2 씬의 메인 카메라에도 스크립트를 붙여주고, 버튼 Onclick() 메소드에 SceneChange1() 메소드를 붙여주도록 합시다. |
실행해보면 버튼 클릭시 씬이 전환되는 것을 확인 할 수 있을 것입니다.
'Frontend > Unity' 카테고리의 다른 글
[유니티 기초] 유니티 생명주기 (Life Cycle) (0) | 2016.08.04 |
---|---|
[유니티 기초] Time.deltaTime (7) | 2016.08.04 |
[유니티 트랜스폼] 이동 (Move) (5) | 2016.08.04 |
[유니티 C# 기초 강의] 12. 델리게이트 (5) | 2016.08.03 |
[유니티 디버깅] ⑥ 에디터 디버깅 (0) | 2016.08.03 |
[유니티 디버깅] ④ 시각적 디버깅 (0) | 2016.08.03 |