Unity - 씬 전환 시 파괴되지 않는 오브젝트

2023. 4. 3. 23:42·Unity
반응형
Unity에서는 씬(Scenes)을 사용하여 게임을 구성할 수 있습니다. 씬은 게임 화면의 일부분을 의미하며, 여러 개의 씬을 조합하여 게임을 만들 수 있습니다. 씬을 전환할 때, 기존에 로드되어 있던 오브젝트들은 파괴됩니다. 그러나, DontDestroyOnLoad 함수를 사용하여 특정 오브젝트를 파괴하지 않고 유지할 수 있습니다.

DontDestroyOnLoad 함수

DontDestroyOnLoad 함수는 특정 오브젝트를 씬 전환 시 파괴되지 않도록 합니다. 이 함수를 사용하면, 특정 오브젝트가 다른 씬에서도 유지될 수 있습니다.

using UnityEngine;

public class Example : MonoBehaviour
{
    void Awake()
    {
        DontDestroyOnLoad(gameObject);
    }
}

위 코드에서는 Awake 함수에서 DontDestroyOnLoad 함수를 호출하여 자신의 게임 오브젝트를 파괴하지 않도록 합니다. 이 코드를 사용하면, 이 스크립트가 적용된 게임 오브젝트는 다른 씬에서도 계속 유지됩니다.


주의사항

DontDestroyOnLoad 함수를 사용할 때에는 몇 가지 주의사항이 있습니다.

1. 중복 호출

DontDestroyOnLoad 함수는 한 번만 호출해야 합니다. 만약, 같은 게임 오브젝트에 대해 DontDestroyOnLoad 함수를 여러 번 호출하면, 예기치 않은 동작이 발생할 수 있습니다.

2. 다른 오브젝트와의 충돌

DontDestroyOnLoad 함수를 사용하여 유지되는 게임 오브젝트는 다른 씬에서도 계속해서 유지됩니다. 따라서, 같은 이름의 게임 오브젝트가 다른 씬에서도 존재할 경우, 예기치 않은 동작이 발생할 수 있습니다.


예제

다음은 DontDestroyOnLoad 함수를 사용하여 특정 오브젝트를 유지하는 예제 코드입니다.

using UnityEngine;

public class Example : MonoBehaviour
{
    void Awake()
    {
        DontDestroyOnLoad(gameObject);
    }
}

위 코드에서는 Awake 함수에서 DontDestroyOnLoad 함수를 호출하여 자신의 게임 오브젝트를 파괴하지 않도록 합니다. 이 코드를 사용하면, 이 스크립트가 적용된 게임 오브젝트는 다른 씬에서도 계속 유지됩니다.


결론

Unity에서 DontDestroyOnLoad 함수를 사용하여 씬 전환 시 파괴되지 않는 오브젝트를 유지할 수 있습니다. DontDestroyOnLoad 함수를 사용할 때에는 중복 호출과 다른 오브젝트와의 충돌에 주의해야 합니다. 이 함수를 사용하면, 게임 오브젝트를 다른 씬에서도 계속해서 사용할 수 있습니다.

저작자표시 비영리 변경금지 (새창열림)

'Unity' 카테고리의 다른 글

Unity : UnityEngine.Pool 오브젝트 풀링  (0) 2023.04.21
Unity Component : SpriteRenderer  (0) 2023.04.17
Unity에서 Resources 클래스 사용하기  (0) 2023.03.27
Unity에서 플레이어 데이터를 JSON 파일로 저장하기  (0) 2023.03.26
Unity 카메라(Camera) 컴포넌트  (1) 2023.03.25
'Unity' 카테고리의 다른 글
  • Unity : UnityEngine.Pool 오브젝트 풀링
  • Unity Component : SpriteRenderer
  • Unity에서 Resources 클래스 사용하기
  • Unity에서 플레이어 데이터를 JSON 파일로 저장하기
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (723) N
      • 상품 추천 (223) N
      • MongoDB (4)
      • 하드웨어 (15) N
      • 일기장 (4)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • 파이썬 (13)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (41)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    programming101
    셀레니움
    codingtips
    Python
    쇼핑몰리뷰
    스크립트 실행 순서
    codingcommunity
    리스트
    리뷰이관
    리뷰관리
    C#
    rtsp
    파이썬
    믈레코비타멸균우유
    learntocode
    unity
    카페24리뷰이관
    유니티
    스마트스토어리뷰
    cv2
    라떼우유
    programmerlife
    devlife
    스크립트 실행
    상품 리뷰 크롤링
    긴유통기한우유
    appdevelopment
    list
    ipcamera
    카페24리뷰
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
Unity - 씬 전환 시 파괴되지 않는 오브젝트
상단으로

티스토리툴바