之前在前面的Unity资源管理(一)中有讲过一些资源管理,现在系统的再补充一些
一、资源读取方式
1. Resources:支持编辑器模式和发布模式 ,缺点:Resources文件夹下的任何一点点修改,都会导致Resources包的重打。
2. AssetDatabase :仅支持编辑器模式,缺点:正式发布版不能用,要用AssetBundle来替换。
3. AssetBundle: 支持编辑器模式和发布模式,可以根据自己的项目实际情况自定义打包粒度,很好的支持热更新。开发时别用,定义宏,编辑器模式下用AssetDatabase。
同时AssetBundle也支持异步的读取:
AssetBundleRequest abRequest = null;
abRequest = item.assetBundel.LoadAssetAsync("eg");
yield return abRequest;
if (abRequest.isDone)
{
}
方法,使用一个优先级的队列来添加异步加载的指令。
eg:List<ResourceParam>[] m_Loading = new List<ResourceParam>[(int)Priority.Num];
二、AssetBundle,资源加载和卸载
Unity5可以通过每个资源Inspector底部的AssetBundle下拉来指定该资源要打入哪个包,不指定就是不打包。打包过程只需要BuildPipeline.BuildAssetBundl