LoadScene
이 문서는 Udemy의 ‘RPG Core Combat Creator’ 강의를 보고 배운 점을 적은 것입니다.
설명
SceneManager 안에 속한 함수로, 해당 Scene을 로드 후 이동한다.
BuildSetting에 Scene들을 등록해놔야 사용 가능하다.
- 이름으로 이동
- Build에 등록된 번호로 이동
사용법
동기화 버전
using UnityEngine.SceneManagement; // 여기 안에 SceneManager 있음
[SerializeField] int SceneToLoad = -1; // 로드 할 Scene의 번호
public class Portal : MonoBehaviour
{
private void OnTriggerEnter(Collider other)
{
if (other.tag == "Player")
{
SceneManager.LoadScene(SceneToLoad);
}
}
}
비동기 버전
using UnityEngine.SceneManagement; // 여기 안에 SceneManager 있음
[SerializeField] int SceneToLoad = -1; // 로드 할 Scene의 번호
public class Portal : MonoBehaviour
{
private void OnTriggerEnter(Collider other)
{
if (other.tag == "Player")
{
StartCoroutine(Transition());
}
}
private IEnumerator Transition()
{
yield return SceneManager.LoadSceneAsync(SceneToLoad);
}
}
DontDestroyOnLoad
다른 Scene으로 이동해도 해당 GameObject가 파괴하지 않는다.
사용법
private void Awake()
{
DontDestroyOnLoad(gameObject);
}