유니티 작업 중 오브젝트의 정보를 다음 씬으로 넘겨야 하는 상황이 있다.
이러한 경우 DontDestroyOnLoad()를 이용하여 오브젝트 자체를 다음 씬으로 넘겨주어 정보를 획득한 후, 오브젝트를 파괴 시켜주도록 한다.
먼저 다음 씬으로 넘어가는 버튼과 스크립트, 씬으로 넘기기 위한 오브젝트와 스크립트를 작성한다.
DonDestoryObj라는 이름을 가진 큐브 오브젝트 생성
Next라는 이름을 가진 버튼 UI 생성
버튼 스크립트
using UnityEngine.SceneManagement; //씬 매니지먼트 선언 필수.
public class nextbtn : MonoBehaviour
{
public void nextScene()
{
SceneManager.LoadScene(1); //1번 씬으로 이동한다.
}
}
오브젝트 스크립트
public class DonDestroy : MonoBehaviour
{
void Start()
{
DontDestroyOnLoad(this.gameObject); //게임 시작 시 이 오브젝트는 삭제하지 않는다.
}
}
스크립트 작성 후 각각 알맞은 객체에 스크립트를 컴포넌트 후 재생을 하게 되면 아래와 같이 DontDestroyOnLoad 라는 새로운 하이어라키가 생기고 그 안에 컴포넌트한 오브젝트가 들어간다. 그 후, 버튼을 클릭하고 다음 씬으로 넘어가더라도 DontDestroyObj 객체를 파괴 되지 않고 살아있는 것을 확인할 수 있다.
유니티 게임오브젝트 이동 (0) | 2020.05.26 |
---|---|
유니티 매테리얼 컬러 색깔 변화 (0) | 2020.05.26 |
유니티 씬 전환 및 실행 종료 (0) | 2020.05.20 |
유니티 1인칭 카메라 시점 (0) | 2020.05.20 |
유니티 하이어라키 상속 (0) | 2020.05.17 |
댓글 영역