UH1L1——AB包资源打包
UH1L1——AB包资源打包
AB包资源打包工具选择
- 使用Unity编辑器开发的自定义打包工具
- 官方提供好的打包工具:AssetBundles-Browser-master
关于高版本Unity导入AssetBundles-Browser-master
对于高版本Unity中,AssetBundles-Browser已经不能通过包管理器进行下载(发现包管理器中没有对应工具不用着急)
因为:高版本Unity用Addressables功能封装了AB包功能
你仍然可以在资料区下载AssetBundles-Browser-master包文件导入你的工程中
或者从github上去获取该脚本:Releases · Unity-Technologies/AssetBundles-Browser (github.com),下载最晚发布的源代码即可
若导入后报错,只需删除导入内容中的示例文件夹(test文件夹)即可
打开AssetBundles-Browser窗口
点击工具栏:Window ——> AssetBundle Browser
如何将资源与AB包关联起来
选择需要关联的资源,在其Inspector窗口底部的AssetBundle处,选择需要打包到的AB包或者新建一个AB包
后面的选项是拓展名,我们现在不需要去修改它
之后打开AssetBundles-Browser窗口就可以在Configure(配置)看到这个AB包了
要注意,AssetBundles不能打包C#脚本文件,即使打包的预设体挂载了C#脚本,在Inspector窗口上可以看见,
那也不是C#脚本文件本身,因为Unity是使用反射机制来调用C#脚本的,预制体文件实际存储的是关联的脚本的ID与数据罢了
AssetBundlesBrowser构建参数相关
AssetBundles-Browser是Unity官方提供的AB包打包工具
-
build(构建页签)
-
BuildTarget:目标平台
-
Output Path:目标输出路径
-
Clear Folders:是否清空文件夹,重新打包
-
Copy To StreamingAssets:是否拷贝到StreamingAssets
-
Compression 压缩方式
-
NoCompression - 不压缩,解压快,包较大,不推荐
-
LZMA - 压缩最小,解压慢
缺点:用一个资源,要解压所有文件
-
LZ4 - 压缩,相对LZMA大一点点
建议使用,用什么解压什么,内存占用低
-
-
Exclude Type Information - 排除类型信息
在资源包中,不包含资源的类型信息
-
Force Rebuild - 强制重新构建
重新打包时需要重新构建包
和Clear Folders不同,它不会删除不再存在的包 -
Ignore Type Tree Changes - 忽略类型树的改变
- 增量构建检查时,忽略类型数的更改
-
Append Hash - 将文件哈希值附加到资源包名上
-
Strict Mode - 严格模式
如果打包时报错了,则打包直接失败无法成功
-
Dry Run Build - 运行时构建
-
AB包打包到的位置与结构
除了Build页签中选择Copy To StreamingAssets后会复制到StreamingAssets文件夹的AB包
真正的AB包文件会打包到工程文件夹下的AssetBundles文件夹下
我们将model包打包到AssetBundles/PC文件夹下,在这个文件夹下可以看到如下文件
-
AB包生成的文件
-
AB包文件 - 资源文件
-
manifest文件 - AB包文件信息
当加载时,提供了关键信息
资源信息,依赖关系,版本信息等等 -
关键AB包(和目录名一样的包)- 主包
AB包依赖关键信息
-
其中PC这个文件并不是我们手动打的AB包,而是主包,这个文件是原来存储AB包之间相互依赖关系的文件
而model文件是真正的我们打包出去的AB包
除了这些没有后缀名的文件,还有一些后缀为.manifest的文件,它们是AB包的配置文件,包括打包了哪些文件等一系列信息
AssetBundlesBrowser的查看AB包相关
将存储AB包的文件夹或文件添加进去,我们可以看到AB包的一系列信息