본문 바로가기
TIL

01.04 (TIL-Unity)

by 오랑이귀엽다 2024. 1. 4.

씬 인덱스(Scene Index)

Unity에서 각각의 씬(Scene)을 구별하기 위해 사용하는 숫자

Unity의 빌드 설정(Build Settings)에서 씬들이 나열되는 순서에 따라 각 씬에 자동으로 할당

 

예시코드

더보기

using UnityEngine;
using UnityEngine.SceneManagement;

public class TutorialDoor : MonoBehaviour
{
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.gameObject.tag == "Player")
        {
            // 현재 씬의 인덱스를 가져옴
            int currentSceneIndex = SceneManager.GetActiveScene().buildIndex;

            // 다음 씬의 인덱스 계산
            int nextSceneIndex = (currentSceneIndex + 1) % SceneManager.sceneCountInBuildSettings;

            // 다음 씬 로드
            SceneManager.LoadScene(nextSceneIndex);
        }
    }
}

씬 인덱스 할당: Unity의 빌드 설정에서 씬들을 프로젝트에 추가하면, 추가된 순서대로 0부터 시작하는 인덱스가 할당

예를 들어, 빌드 설정에 첫 번째로 추가된 씬은 인덱스 0을, 두 번째로 추가된 씬은 인덱스 1을 받는다.

 

씬 인덱스 사용: 씬 인덱스는 프로그래밍적으로 씬을 로드하거나 참조할 때 사용. 

예를 들어, SceneManager.LoadScene(int index) 함수는 인덱스를 인자로 받아 해당 인덱스의 씬을 로드.

 

씬 인덱스 확인: 현재 활성화된 씬의 인덱스는 SceneManager.GetActiveScene().buildIndex를 통해 얻을 수 있다.

이는 현재 씬이 빌드 설정에서 몇 번째에 위치하는지를 나타냄.

 

씬 인덱스와 루프: 씬 인덱스를 사용해 씬 간의 이동을 구현할 때, 마지막 씬에서 다시 첫 번째 씬으로 돌아가는 루프를 만들 수 있다.  이는 SceneManager.sceneCountInBuildSettings를 사용하여 총 씬 개수를 알아내고, 현재 씬 인덱스에 1을 더한 후 총 씬 개수로 나눈 나머지를 다음 씬 인덱스로 사용함으로써 구현

 

'TIL' 카테고리의 다른 글

01.08 (TIL-Unity)  (0) 2024.01.08
01.05 (TIL-Unity)  (0) 2024.01.05
01.03 (TIL-Unity)  (2) 2024.01.03
01.02 (TIL-Unity)  (1) 2024.01.02
12.29 (TIL-Unity3D)  (0) 2024.01.02