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 파일로 저장하기
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (730)
      • 스마트팜 (1)
      • 상품 추천 (223)
      • DataBase (0)
        • MongoDB (4)
        • PostgreSQL (0)
      • 하드웨어 (19)
      • 일기장 (4)
      • 파이썬 (131)
        • Basic (42)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (5)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • 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)
  • 인기 글

  • 태그

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

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

티스토리툴바