处理Assets依赖和下载AssetBundle(三)

关键词:

处理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;
    }


下一节:Unity加载AssetBundle包(四)


作者:songshizhao 发表于:2017-03-09T09:00:59 访问量:1456
评论 [发表评论]