상세 컨텐츠

본문 제목

유니티 오브젝트 씬 넘기기 DontDestroyOnLoad()

프로그래밍/유니티

by 개발자입니다 2020. 5. 21. 16:28

본문

728x90
반응형

유니티 작업 중 오브젝트의 정보를 다음 씬으로 넘겨야 하는 상황이 있다. 

이러한 경우 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 객체를 파괴 되지 않고 살아있는 것을 확인할 수 있다.



728x90
반응형

관련글 더보기

댓글 영역