UH1L1——AB包资源打包

AB包资源打包工具选择

  1. 使用Unity编辑器开发的自定义打包工具
  2. 官方提供好的打包工具: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

image

如何将资源与AB包关联起来

选择需要关联的资源,在其Inspector窗口底部的AssetBundle处,选择需要打包到的AB包或者新建一个AB包

image

后面的选项是拓展名,我们现在不需要去修改它

之后打开AssetBundles-Browser窗口就可以在Configure(配置)看到这个AB包了

要注意,AssetBundles不能打包C#脚本文件,即使打包的预设体挂载了C#脚本,在Inspector窗口上可以看见,
那也不是C#脚本文件本身,因为Unity是使用反射机制来调用C#脚本的,预制体文件实际存储的是关联的脚本的ID与数据罢了

AssetBundlesBrowser构建参数相关

AssetBundles-Browser是Unity官方提供的AB包打包工具

image

  • 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文件夹下

image

我们将model包打包到AssetBundles/PC文件夹下,在这个文件夹下可以看到如下文件

image

  • AB包生成的文件

    • AB包文件 - 资源文件

    • manifest文件 - AB包文件信息

      当加载时,提供了关键信息
      资源信息,依赖关系,版本信息等等

    • 关键AB包(和目录名一样的包)- 主包

      AB包依赖关键信息

其中PC这个文件并不是我们手动打的AB包,而是主包,这个文件是原来存储AB包之间相互依赖关系的文件
而model文件是真正的我们打包出去的AB包
除了这些没有后缀名的文件,还有一些后缀为.manifest的文件,它们是AB包的配置文件,包括打包了哪些文件等一系列信息

AssetBundlesBrowser的查看AB包相关

将存储AB包的文件夹或文件添加进去,我们可以看到AB包的一系列信息

image