Unity热更新——AB包

简介: Unity热更新——AB包

AB包

AB包全名AssetBundle(资源包),是一种Unity提供的用于存放资源的包,类似于压缩文件。它通过将资源分布在不同的AB包中可以最大程度地减少运行时的内存压力,并且可以有选择地加载内容,比如模型、贴图、预制体、音效、材质球等等。

如何将要打包成AssetBundle的资源设置AB包名字和变体名字呢?

AssetBundleName: 即是该资源要打包进哪个AB包里面,若多个资源的AssetBundleName相同(且变体名Variant也相同)则这些资源会被打包到同一个AB包里,换言之,这个AB包包含了多个资源。

AssetBundleName不能包含" . "这个特殊字符,会与variant产生冲突,使用/分隔符可以按层级建AB包,如AssetBundleName为A/B/C的AB包会被打包成A文件夹下的B文件夹下的名字为C的AB包

Variant: 类似后缀名的东西,称为变体,默认为.assetbundle,一般后缀大家都设置为.assetbunlde和.unity3d,那有人会用,这个有啥用。主要的用途应该用来做版本控制,即同种资源的不同形态下的加载,如不同语言包的同类型资源的加载,如可命名资源a的不同变体为a.cn,a.en等,根据不同的语言包加载不同的AB包。  


AB包的分组方式

将哪些资源打包到一个AB包下是让人头疼的事情,就像你要把你的衣服放进衣柜里,总而言之就是整理的过程,而这种事情越早确定越好,到后期再更改就显得很麻烦。

Unity官方推荐的分类方式有以下几种:

1.按逻辑进行分类

即按该资源被哪个功能应用到,同种功能用到的资源打到一个AB包内,举个例子:

(1)将一个UI界面的所有图片纹理,布局文件打包到一个AB包

(2)将一个角色的所有动画,模型打包到一个AB包

(3)将一些公用的资源打包到一个AB包

2.按类型分类

将同一个类型下的资源打包到一个AB包中,举个例子:

(1)将Windows和Mac平台下使用到的不同Shader资源分类打包

(2)将不同版本的Unity AB包进行分类打包

3.同时使用的打包

即考虑到哪些AB包可能会在某个时间段一起使用,则打包到同一个AB包中,举个例子:

(1)某关卡下需要加载的所有资源一起打包

(2)某个场景下需要加载的所有资源,你应该尽可能将所有AB包依赖项都打包进来,避免加载其他依赖项

总的来说,没有最好的打AB包方式,只有最适合项目的打AB包方式。

目录
相关文章
|
存储 缓存 JSON
Unity资源热更新知识梳理及工作流介绍
研究了大半年的热更,才做出了一套相对完善的热更架构。不得不说,这块的知识点还是多而杂的,值得专门开篇博文来记录梳理。
2362 0
|
7月前
|
算法 安全 C#
Unity——热更新浅析
Unity——热更新浅析
|
7月前
|
存储 图形学 Android开发
Unity——资产包(Asset Bundles)
Unity——资产包(Asset Bundles)
107 0
|
编译器 图形学 Windows
【unity细节】中文乱码和老包升级的情况
【unity细节】中文乱码和老包升级的情况
126 0
|
图形学
Unity热更新——AB包的基本操作
Unity热更新——AB包的基本操作
425 1
|
图形学
Unity热更新——lua语言
Unity热更新——lua语言
104 0
|
图形学 Android开发
Unity粒子特效系列-龙卷风预制体做好了,unitypackage包直接用!
众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!
1981 1
|
XML 前端开发 图形学
Unity与安卓交互 之 ✨ 在Android Studio中写代码导出aar包,在Unity中使用交互(小白完整篇)
在Android Studio中写代码导出aar包,在Unity中交互调用(小白完整篇) AndroidStudio中的操作步骤: 首先,打开AndroidStudio新建一个工程,版本不同,所以操作的界面跟步骤可能不太一样,但是核心就是包名罢了,其他的一律默认Next带过就行
Unity与安卓交互 之 ✨ 在Android Studio中写代码导出aar包,在Unity中使用交互(小白完整篇)
|
Java 测试技术 C#
Unity 3D与Android Studio安卓交互之-导出jar包
u3d与安卓 jar 包交互 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— ...
3680 0
|
图形学
Unity 减小包体apk大小技巧
创建一个新的工程,默认场景打包的包体如下 更改Other Settings中的Device Filter,但是弊端就是牺牲了机器的兼容性 更改Device Filter选项为ARMv7后的包体如下: ...
1945 0