🛠️
【Unity】addressablesでPrefabをロードして生成する
Prefabを動的にロードして生成する方法です。
前提:AddressablesをPackageManagerからインポートする
-
PrefabのAddressable項目にチェックを入れる
-
コピーする
-
以下のコードで動的に生成。
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;
public async void Load()
{
// AddressablesでPrefabを非同期でロード
AsyncOperationHandle<GameObject> prefabHandle = Addressables.LoadAssetAsync<GameObject>("Assets/Prefabs/Card/Mummy_Card.prefab");
await prefabHandle.Task;
// ロードが完了したらPrefabを生成
if (prefabHandle.Status == AsyncOperationStatus.Succeeded)
{
GameObject prefabInstance = Instantiate(prefabHandle.Result);
// parentTransformが指定されていない場合、Prefabはワールド座標に生成されます。
}
}
生成位置も指定するなら指定する必要あり
参考になるサイト↓
Discussion