我在Addressables组中放了两个资源,一个材质,一个Cube,该Cube并没有使用Addressables加载出出来的材质,而是使用默认材质:
但是如果我在代码中加载Cube和材质,然后将材质释放掉,那么Cube的材质引用就会丢失。这是什么原因呢,Cube使用的是默认的材质啊。
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;
public class AddressablesMain : MonoBehaviour
{
private void Start()
{
// 加载Cube
Addressables.LoadAssetAsync<GameObject>("Cube").Completed += (handle) =>
{
if (handle.Status == AsyncOperationStatus.Succeeded)
{
Instantiate(handle.Result);
}
Addressables.Release(handle);
};
// 加载材质
Addressables.LoadAssetAsync<Material>("CubeMaterial").Completed += (handle) =>
{
if (handle.Status == AsyncOperationStatus.Succeeded)
{
Addressables.Release(handle);
}
};
}
}
要构建项目运行才行: