处理Assets依赖
在Unity5.0以后,Unity会自动处理Assets之间的依赖关系,并把这些依赖关系BUild到AssetBundle当中。不再需要PopAssetDependencies()/PushAsset PopAssetDependencies()来处理依赖关系。Unity提供了Mainfest文件向用户展示这些依赖关系,处理依赖关系时不再需要重新打包整个依赖链。
下载AssetBundle
Unity提供两种方式从服务器上动态下载AssetBundle
1.非缓存机制
通过创建一个WWW实例对AssetBundle进行下载,下载后不会保存在特定的缓存区。下面是一段使用非缓存机制下载AssetBundle的代码。
IEnumerator Start() { WWW www = new WWW("www.songshizhao.com"); yield return www; }
2.缓存机制(推荐)
通过WWW.LoadfromCacheorDownload()接口下载AssetBundle,下载后的文件自动保存在指定的缓存区。下载时该接口会在本地缓存区根据版本号查找文件,如果下载过直接加载,否则前往服务器下载。Unity提供的默认缓存区大小不同平台是不同的,最小的对于webplayer或者webgl?默认只有50MB,其余平台4GB。代码如下:
IEnumerator Start() { WWW www = WWW.LoadFromCacheOrDownload("www.songshizhao.com", 5); yield return www; }