반응형
<AsyncOperation>
: 비동기적인 연산을 위한 코루틴을 제공합니다.
유니티의 LoadScene 메서드를 호출했을 때, 유니티는 해당 장면의 모든 정보를 메모리로 가져오기 전까지 다른 작업을 하지 못합니다. 이 상황이 게임이 멈춰있는 상황으로 이어질 수 있기 때문에 유니티에서는 AsyncOperation을 제공합니다.
사용 예시를 간단하게 보여드리겠습니다.
using UnityEngine.SceneManagement;
AsyncOperation asyncOper = SceneManager.LoadSceneAsync("SceneName");
//장면이 준비되는 즉시 장면을 활성화시킬 것인지 허용 여부
asyncOper.allowSceneActivation = false;
while(!asyncOper.isDone) //해당 동작이 준비되었는지의 여부
{
yield return null;
Debug.Log(asyncOper.progress); //작업의 진행 정도를 0~1사이의 값으로 확인 -> 로딩바
}
//원하는 작업을 완료시킨 후, 씬 활성화
asyncOper.allowSceneActivation = true;
반응형
'[Unity] > [Unity]' 카테고리의 다른 글
[Unity] DOTween (0) | 2022.10.10 |
---|---|
[Unity] Scriptable Object (0) | 2022.10.03 |
[Unity] 유니티용 비동기 라이브러리 패키지 Unitask (0) | 2022.09.22 |
[Unity] onClick.AddListener() 함수의 파라미터 전달 문제 (0) | 2022.05.28 |
[Unity] 입사각, 반사각을 구하는 방법 (0) | 2022.05.11 |