Addressable 6-24

최보훈·2024년 7월 3일
0

MyOsotis

목록 보기
7/7

Addressable이어서 공부한 내용
이전에 그냥 Addresssables.InstantiateAsync로 오브젝트들을 생성했을 때는 변경사항이 적용되기 전 오브젝트들을 생성하는 경우들이 많았는데,

private void Update()
{
    if (Input.GetKeyUp(KeyCode.T)) {
        AsyncOperationHandle<GameObject> asyncOperationHandle =
            Addressables.LoadAssetAsync<GameObject>("Assets/Prefabs/Circle.prefab");

        asyncOperationHandle.Completed += AsyncOperationHandle_Completed;
        Debug.Log("1");
    }
}

private void AsyncOperationHandle_Completed(AsyncOperationHandle<GameObject> asyncOperationHandle)
{
    Debug.Log("2");
    if(asyncOperationHandle.Status == AsyncOperationStatus.Succeeded)
    {
        Instantiate(asyncOperationHandle.Result);
    }
    else
    {A
        Debug.Log("Failed to Load");
    }
}

이런식으로 다운로드가 완료 된 이후에 오브젝트가 생성되게끔 코드를 바꾸니 위와같은 오류가 없어지게 되었다.

여러 에셋들 동시에 로드하기

LoadAssetsAsync를 사용하면 된다. 하나하나 다 이름으로 로드하거나, Lable로 한번에 로드가 가능하다

0개의 댓글