unity AssetBundle的资源管理
发布日期:2021-06-30 19:38:09 浏览次数:3 分类:技术文章

本文共 912 字,大约阅读时间需要 3 分钟。

当把AssetBundle文件从服务器端下载到本地后,需要将其加载到内存中并创建AssetBundle文件内存对象,

可以通过WWW.assetbundle属性来创建一个AssetBundle的内存对象

当AssetBundle文件加载完成后,就可以将它所包含的Assets加载到内存中。

AssetBundle.Load

该接口可以通过名字来将AssetBundle文件包含的Asset加载到内存中,也可以通过参数来指定加载Asset的类型。

AssetBundle.LoadAsync

该接口的作用与AssetBundle.Load相同,不同的是该接口是对Asset进行异步加载,适用于加载一个较大的Asset或者同时加载多个Asset.

AssetBundle.LoadAll

该接口用来一次性加载AssetBundle文件中所有的Assets,同AssetBundle.Load一样,可以通过参数来指定加载Asset的类型。

例子:

 

private IEnumerator StartLoad(string url) {        WWW www = new WWW(url);        yield return www;        AssetBundle bundle = www.assetBundle;        AssetBundleRequest request = bundle.LoadAsync("myObject", typeof(GameObject));        yield return request;        GameObject obj = request.asset as GameObject;        bundle.Unload(false);}

注意Unload函数,如果参数为false,则只会卸载AssetBundle对象,并不会对从AssetBundle中加载的Assets有任何影响。

 

如果是true,则除了AssetBundle对象自身,所有从当前AssetBundle中加载的Assets也会同是被卸载掉,无论它们是否还在被使用。

 

转载地址:https://linxinfa.blog.csdn.net/article/details/47320343 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【转】Unity中HideInInspector和SerializeField一起使用
下一篇:一分钟学会C#解析XML

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月22日 14时35分58秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章