Unity里的资源加载,这么多年了,还是直接拖预设、Resources.Load、Assetbundle这三种。而这个Addressables呢其实是这三种的一个封装,主要还是针对Assetbundle的管理。
体验使用了一下,与QF的资源管理有异曲同工之妙,分成了开发、测试、发布几种情况下的几种模式。
基础的使用方法可以看大智的教程
把大智教程最简化:
1.导入包
2.勾选需要加载的prefab
3.调用API加载
4.(导出前)build一下资源
可以看出来用法对比AB简单了很多。按照大智的说法,Addressables的实例化解决了阻塞主线程的问题(有兴趣的可以实测一下),如果解决了实例化阻塞主线程的问题的话,那Addressables将会是资源管理的不二选择~
导入什么都很简单,简单地去使用的话,我觉得常用的API可能就这一个:
加载并实例化,注意一下传入的是资源在项目中的地址,而不是资源名。
GameObject myGameObject;
private void Start()
{
Addressables.InstantiateAsync("Assets/SURIYUN/character01/Ami(Character)/Prefab/Ami_mecanim_test.prefab").Completed += OnLoadDone;
}
private void OnLoadDone(UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle<GameObject> obj)
{
// In a production environment, you should add exception handling to catch scenarios such as a null result.
myGameObject = obj.Result;
}
网友评论