2.生成AB包资源文件
2.1 知识点
AB包打包工具
通过 Unity 编辑器自研自定义打包工具的做法,因官方已提供现成方案,现已较少使用
官方提供的打包工具:Asset Bundle Browser
可以直接在包管理器中下载资源


高版本 Unity 往往已无法从包管理器直接安装 Asset Bundle Browser;列表里没有对应项也不必慌。原因之一是官方在高版本里主推 Addressables(对 AB 相关能力做了上层封装)。若仍要用 Browser,可自行从 GitHub 获取 AssetBundles-Browser 源码压缩包,将 AssetBundles-Browser-master 导入工程;导入后若报错,一般删掉包内的 示例(Samples) 文件夹即可。


还可以在工程的 Packages 目录下编辑 manifest.json,手动加入 "com.unity.assetbundlebrowser": "1.7.0",回到编辑器后会按包版本拉取 Asset Bundle Browser。
如何让资源关联AB包
创建一个cube预制体,在预制体下方新建AB包model并选择。就能在AB包窗口看到我们新建的AB包和资源。



多选若干美术图片等资源,同时划进一个新创建的
icon包,Browser 里也会正常显示

假如没刷出来可以尝试点击刷新按钮

注意:C#代码不能放到AB包,因为C#是编译型语言,所以我们才需要学脚本语言lua。而预制体实际上是一堆数据组成的,记录了关联的脚本,预制体上的脚本并不会打进AB包,打进AB包的是预制体数据。

AssetBundleBrowser参数相关
Configure 配置页签
- 可以查看项目中的AB包其中的资源
Build 构建页签

BuildTarget: 目标平台

- 常用平台如 Windows、iOS、Android 等
- 不同平台要重新打包
Output Path: 目标输出路径
Clear Folders:重新打包时是否清空目标路径的文件夹
Copy To StreamingAssets:是否把打包到目标路径的AB包拷贝一份到StreamingAssets文件夹
Compression 压缩方式
- NoCompression:不压缩,解压快,包较大 不推荐
- LZMA:压缩最小,解压慢
- 缺点:如果要用AB包中的一个资源,要解压整个AB包
- LZ4:压缩,相对LZMA大一点点
- 建议使用,用什么AB包中的什么资源就解压什么资源,内存占用低
Exclude Type Information
- 在AB资源包中 不包含资源的类型信息 不建议勾选
Force Rebuild
- 重新打包时需要重新构建包 和ClearFolders不同 它不会删除不再存在的包 不建议勾选 勾选Clear Folders就好
Ignore Type Tree Changes
- 增量构建检查时,忽略类型树的更改,不建议勾选
Append Hash
- 将文件哈希值附加到资源包名上
Strict Mode
- 严格模式,如果打包时报错了,则打包直接失败无法成功 建议启用
Dry Run Build
- 干跑 / 预演式构建:多用于先跑一遍校验流程、减少直接点 Build 踩坑;是否完全不落盘以当前工具版本为准,团队可按流程选用
Build打包按钮
点击打包后 因为选择了清空目标路径的文件夹和拷贝到StreamingAssets 可能会弹出是否希望删除目标路径和StreamingAssets的所有文件弹出 点击Yes即可

打包成功后会在Asset同级目录生成填好的目标路径



打包成功后 假如StreamingAssets没有刷新拷贝的AB包 尝试右键手动刷新

在AB包生成的文件中 PC包是我们的主包(和目录名一样的包) 我们实际上没有创建PC这个AB包 这是因为我们的目标路径文件夹叫PC PC存储了很多关键信息和依赖关系等 model和icon才算我们真正打包出去的AB包 其中没有后缀的文件是我们的资源文件 .manifest后缀的文件是记录资源文件资源信息、依赖关系、版本信息等等的文件



Inspect 检查页签
- 可以点击添加AB包资源文件或者文件夹 查看AB包的具体信息


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com