Metaverse/Unity

Crescendor - Scene Loading 구현

onenewkong 2024. 4. 13. 18:32

Loading.mp4
0.32MB

 

맨 처음 실행했을 때, Main Scene을 로딩하는 화면을 구현했다. 

로딩은 각각 처음 실행 시, 연습 모드 진입 시, 실전 모드 진입 시에 구현할 예정이다. 각각 로딩 화면을 다르게 할거라 리팩토링이 필요할거다. 디자인을 하면서 기능 구현을 동시에 진행 중이다. 우리 팀은 UI/UX 관련 피드백을 주로 받았기 때문에 더 신경을 쓸 예정이다. 로딩이 90% 이상 진행되면 투명도를 올린다던가 로딩 바 아래에 텍스트를 추가하여 진행률을 보여준다던가 등의 작업을 하려고 한다.

[SerializeField]
Slider progressBar;

private void Start()
{
    StartCoroutine(Loading());
}

IEnumerator Loading()
{
    yield return null;

    AsyncOperation op = SceneManager.LoadSceneAsync("MainMenuScene");
    op.allowSceneActivation = false;

    float timer = 0.0f;

    while (!op.isDone)
    {
        yield return null;

        if (op.progress < 0.9f)
        {
            progressBar.value = op.progress;
        }

        else
        {
            timer += Time.unscaledDeltaTime;
            progressBar.value = Mathf.Lerp(0.9f, 1, timer);

            if (progressBar.value >= 1)
            {
                op.allowSceneActivation = true;

                yield break;
            }
        }
    }
}

'Metaverse > Unity' 카테고리의 다른 글

OVRInput - 제스처 인식  (0) 2024.03.10
Crescendor - HandTracking Transform API  (0) 2024.01.17
Crescendor - HandTracking, Interactor  (0) 2024.01.06
Crescendor - Android Build 관련 삽질  (1) 2024.01.04
RPG Project - Inventory  (0) 2023.10.14