Unity Scene Change(씬 바꾸기)
유니티에서 Scene을 여러개 생성한뒤
Scene 간의 이동이 가능 하다.
이전에는
Application.LoadLevel(int index); //빌드 셋팅할 때의 index번호
Application.LoadLevel(string name); //Scene 이름
을 사용 하였지만
현재 최신 버전에서는 위의 코드는 사용하지 않기를 권장한다.
새로 권장 하는 코드는
using UnityEngine.SceneManagement; 을 추가하여
아래 코드 중에서 사용 하는 것이다.
SceneManager.LoadScene(int index); //빌드 셋팅할 때의 index번호
SceneManager.LoadScene(string name); //Scene 이름
SceneManager.LoadScene(int index, LoadSceneMode mode);
SceneManager.LoadScene(string name, LoadSceneMode mode);
LoadSceneMode 에는
LoadSceneMode.Single 과 LoadSceneMode.Additive 가 있는데
LoadSceneMode.Single은 예전과 같이
현재 Scene 의 Object들을 날리고
이동하는 Scene의 Object만을 새로 로드라는 것이고
LoadSceneMode.Additive은 현재 Scene을 그대로 남긴체
이동할 Scene을 로드하여 추가하는 것이다.
이전에는 현재 Scene의 객체중 남기고 싶은 것만
스크립트에서 DontDestroyOnLoad(gameObject); 해주었는데
LoadSceneMode.Additive를 하면서
DontDestroyOnLoad(gameObject);를 해버리면
DontDestroyOnLoad 한 객체들만 별도로 Scene의 구분이 되어 버린다.
Scene의 관리를 위해 적절히 잘 사용 하여야 할 것이다.
'공부 > Unity' 카테고리의 다른 글
쓰레드(Thread) 사용 시 OnDestroy() 이후 까지 주의하자 (0) | 2016.06.14 |
---|---|
[잡담]유니티로 서버 달지 말자!!! (0) | 2016.06.11 |
AudioSource 다중 사용 (0) | 2016.06.03 |
GetComponent<T>() 사용에 대해 (0) | 2016.06.02 |
다중 트리거(Trigger) 조작 문제 (0) | 2016.06.01 |