Unity 浅谈AssetBundle 游戏资源

--刚刚做完一个xlua的的热更项目,对AssetBundle资源分类总结一下。纯理论,闲谈知识,要是有建议,尽管提 ,不掺杂代码。

--这里说说,AB是如何打包,如果下载,如何加载。

关键词理解:依赖,被依赖,公共, 非公共,。

1.如何打包?

游戏资源的话,我这里是分为两大类。

常驻资源

I.常驻公共资源(主界面图集,背景音乐等的必须要加载的资源)

||.非 常驻公共资源(战斗界面图集,因为存在只登录游戏,不进战斗的情况)

非常驻资源

|||.经常反复资源

V.其他

2.下载资源?

下载资源的话,我这边是通过Version文件对比获取所需下载资源,没什么好讲的。

一张图,解释:

3.如何加载?

最主要的就是这边了。

I.加载的优先级

首先加载的是 常驻公共资源,

再加载经常反复资源,

当然如果进入战斗(某个特定模块),就加载非常驻公共资源。

其他资源是当使用时加载。

II.释放资源

常驻资源肯定是不能unload(false)的,这边释放资源,释放的是其他资源。

对于unload(false),还是unload(true) 参考http://blog.csdn.net/tyzxhxl/article/details/44541429

unload(false)适合反复使用资源,一次Load之后,再也不需要Load,且与其他资源没有"被依赖关系"。

III 缓存资源

一般如果经常反复使用的资源,最好缓存把AB存为需要的GameObject,例如子弹之类。

时间: 2024-10-13 01:10:40

Unity 浅谈AssetBundle 游戏资源的相关文章

[Unity]浅谈AssetBundle的依赖关系打包与加载

一.写在前面 通过AssetBundle进行资源管理很方便.AssetBundle的打包与加载策略有很多种,本文来讲一种可以随意通过资源名来加载指定目录下资源的打包方法.意在加深对资源管理的理解. 二.策略介绍 1.打包的粒度划分的策略 ①     所有在指定目录下的文件,即RootList,都被打包成单独结点 ②     对于RootList所依赖的所有资源,即DepList,依赖数大于1的,被打包成单独结点,等于1的,向上合并至被依赖结点. ③     记录打包信息 2.下载策略 ①    

浅谈2D游戏设计模式--游戏剧情设计(1)

博主不才,人生有2大爱好,写程序和玩游戏,本人玩的又是一款2D的在旁人看来弱智的网络游戏. 这款游戏在中国的名称叫做冒险岛,不知道园子里有没有人玩过. 我打算有空的话,就把我玩游戏中的心得和程序结合起来,一方面自己也想做个总结,毕竟玩了那么久游戏,总该写个总结, 另一方面,也是想把自己的心得分享给大家. 这款游戏实在是很大,大道我都不知道从何写起比较好,我就分块介绍好吧,因为我没有游戏设计的经验, 我只能从一个老玩家的视角进行剖析. 首先我来说一下游戏的色调吧,一个游戏最重要的无非就是游戏的创意

浅谈2D游戏设计模式2- WZ文件详解(UI.WZ)之MapLogin.img(1)

玩过冒险岛的人都知道有一个WZ文件,那么这个WZ文件的内部是怎么样的呢,今天我就带大家一探究竟. 说实在的,我这是第一次接触WZ文件,但是却让我很震撼,为什么很震撼,因为这个居然是用VS2010写的!还是.NET,我TMD居然就是搞.NET程序设计的, 早知道早点问@卧室好人要WZ文件了,哈哈. 言归正传,既然自己是一个编程方面的菜鸟,多多少少还是知道一些的.下面就带大家来研究WZ文件,也希望一些大神能提供一些帮助. 这个系列的只是从WZ的表面研究,并没有深入源代码,待我到时候反编译(或者问本人

浅谈2D游戏设计模式3 - 冒险地图之美(1)

冒险岛之所以能长久的存在,很大一部分原因是因为它的美工设计的非常的精细,以及独特,那么独特以及美究竟体现在哪些方面呢? 今天我就带大家来分析几幅地图吧. 好吧,我们就拿上面这幅美景来分析吧. 1.阳光. 因为是阳光照耀着的地图,而且是在白天,体现这是中午,否则不会有这么强烈的阳光. 我们只能看到阳光却看不到太阳:原因只有一个,地图不够高,我们看不到太阳. 但是,事实真的是这样的吗,我个人认为,这里其实只是一个欲情故纵的手法吧,游戏厂商设计的其实就只有这一束阳光. 而这束阳光其实只是为了迎合大家的

COCOS2DX 与 UNITY3D 的发展浅谈

浅谈: 目前游戏界的发展趋势逐渐把游戏引擎当做一个比较成熟的中间件了,许多toolset和基础构建在不同游戏中是相通的,曾经有人比喻游戏引擎在不久的将来会像现在的操作系统一样,呈现出一种比较稳定的状态(比如现在比较活跃的操作系统只有Widnows和Linux了). 如果追求性能的话,实际上可以重写Unity或者其他引擎中的Renderer和Shader来进行改进,所以追求性能不能成为使用自研引擎的借口了. 而且,国内的许多公司的引擎,比如畅游. 也只是把ORGE啥的改一改, toolset和平台

[Unity Asset]AssetBundle系列——游戏资源打包

转载:http://www.cnblogs.com/sifenkesi/p/3557231.html 将本地资源打包,然后放到资源服务器上供游戏客户端下载或更新.服务器上包含以下资源列表:(1)游戏内容资源assetbundle(2)资源维护列表,包含每个资源的名字(完整路径名)和对应的版本号[资源名,版本号],如下表所示(VersionNum.xml): <VersionNum> <File FileName="Assets.Resources.BigLevelTexture

还在用难用的AssetBundle?快来运用Unity新的可寻址资源系统,助力游戏开发

Unity Addressables可寻址资源系统是一个强大的Unity资源包,它能够帮助解决游戏开发中最重要的一些挑战:高效率和轻松的内容管理. 在管理游戏资源时,往往很难维持好的标准,从而避免让项目变得杂乱无章.最主要的问题在于不同职责的资源管理系统之间的耦合.而且,项目中资源的存储,加载和载入后资源的使用方法都有紧密的联系. 例如:我们可能要在Resources文件夹存储某个精灵.这会让Unity在构建版本时,把精灵存到特定的存档文件中.由于精灵存在了这样的位置,我们必须通过Resourc

[Unity AssetBundle]Asset资源处理

什么是AssetBundle 在很多类型游戏的制作过程中,开发者都会考虑一个非常重要的问题,即如何在游戏运行过程中对资源进行动态的下载和加载.因此,Unity引擎引入了AssetBundle这一技术来满足开发者的需求. AssetBundle是Unity引擎提供的一种用户存储再远的文件格式,它可以存储任意一种Unity引擎能够识别的资源,例如模型.纹理.音频.动画甚至整个场景. 同时,AssetBundle也可以包含开发者自定义的二进制文件,只需要将二进制文件的扩展名改成.bytes,Unity

Unity 提取游戏资源之ktx转换

从雨松的博文<Unity3D研究院之mac上从.ipa中提取unity3D游戏资源(六十六)>可以学到提取Unity的游戏资源,其中有用到一个工具:PVRTexTool 因为这个工具的官网不好下载,故将其上传到CSDN,下载地址:http://download.csdn.net/detail/akof1314/7660209 提取出来的资源,其中的ktx资源,用PVRTexToolGUI.exe可以打开查看,可以发现都是上下颠倒,且被拉伸 直接转为png格式的批处理脚本为: 1 2 3 4 5