Unity Addressables笔记
编辑器
包括一个Addressables Groups页面
以及一些资产
API
AssetReference
可以公开,从编辑器拖一个资源进去。另有AssetReferenceGameObject、AssetReferenceSprite、AssetReferenceTexture、AssetReferenceT<>等可引用具体类型资源。
public AssetReference asset;
public void LoadResReference(AssetReference asset){AsyncOperationHandle<GameObject> handle = asset.LoadAssetAsync<GameObject>();handle.Completed += (handle) =>{if (handle.Status == AsyncOperationStatus.Succeeded){Instantiate(handle.Result);asset.ReleaseAsset();//释放不影响已实例化的物体}};}
释放不影响已实例化的物体,影响其他资源。
通过资源名、标签加载
参数可填资源名或标签,寻找第一个匹配的,如果有重复则不知道会加载哪个。
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;
public void LoadRes(string name){AsyncOperationHandle<GameObject> handle =Addressables.LoadAssetAsync<GameObject>(name);handle.Completed += (handle) =>{if (handle.Status == AsyncOperationStatus.Succeeded){Instantiate(handle.Result);Addressables.Release(handle);//释放影响已实例化的物体!!!!}};}
释放影响已实例化的物体。
加载场景
Addressables.LoadSceneAsync("场景名");