midas+son의 크리에이티브(creative) 이야기

유니티에서 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의 관리를 위해 적절히 잘 사용 하여야 할 것이다.