Unity AssetBundle,AB包(学习笔记)

本文介绍了Unity的AssetBundle(AB包)的概念、作用、官方打包工具的使用、资源加载、卸载以及依赖管理。AB包是针对不同平台的资源压缩包,用于优化资源管理、减小初始包大小和实现热更新。通过Asset Bundle Browser进行打包配置和生成,并展示了同步、异步加载资源的代码示例。此外,还讨论了主包和依赖关系的管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

为了实习,紧急学习一下AB包的相关知识。魂类项目在做了。
学习视频链接: 【唐老狮】Unity热更新之AssetBundle,文章中的部分图片来自该视频教程。

AB包的概念及作用

做游戏需要用到资源,AB包就是Unity针对不同平台(安卓,IOS,PC)的统一资源压缩包。AB包能存储除了C#脚本之外的几乎所有Unity资产(模型,贴图,预制体,材质,音效)。
AB包相对于Resources文件夹这一套资源管理方案,拥有更好的资源管理及资源读取办法,能够压缩资源并且压缩方式可以自定义,减少初始包的大小(可以理解为下载COD时候能分关卡下载),以及拥有对资源进行热更新的能力,可以说Unity进行热更新的基础就是使用AB包。
在这里插入图片描述
注:热更新指软件能够直接将新的资源以及代码注入已经安装好的程序中来达到更新的效果。基本规则如下图所示。
在这里插入图片描述

官方打包工具及AB包的生成

AB包可以通过对Unity编辑器的开发来实现自定义打包工具,也可以使用Unity官方提供的打包工具Asset Bundle Browser。
据说现在使用Unity开发项目的公司已经都把打包工具开发好了。因为早期的时候,没有官方打包工具。
对于官方打包工具,在Package Manager里面可以下载并安装。
在这里插入图片描述
如果是老版本Unity(2017),可以到Github中找到Unity官方发布的Asset Bundle包。

从Window菜单栏中打开AssetBundle Browser,我们可以看到三个页签,配置(Configure)页签,打包(Build)页签,和检查(Inspect页签)。
在这里插入图片描述
创建或导入一些资源,选中资源(可以批量选择),在Inspector面板的最下面会看到有一个AssetBundle。点击第一个按钮选项(第二个按钮选项是拓展名,暂时不用管),弹出的菜单栏中点击new即可将资源放到到新建的AB包配置方案中。
在这里插入图片描述
AB包中的资源可以在AssetBundle Browser的Configure中看到。
在这里插入图片描述
注意,AB包中没办法放C#脚本,而如果说要实现热更新的话需要用到lua语言。

在设置好AB包的资源配置之后,在Build页面中设置AB包的打包方案,包括

  • Build Target:AB包的适用目标平台
  • Output Path:输出的位置
  • Clear Folders:每次打包时是否要清空输出文件夹
  • Copy to StreamingAssets:是否将AB包复制到StreamingAssets文件夹,StreamingAssets文件夹会随着项目的Build一起Build,并且不会和Resources一样进行压缩加密。
  • Compression:高级设置(Advanced Settings)中的压缩方式
  • Exclude Type Information:设置在资源包中不包含资源的类型信息
  • Force Rebuild:重新打包时重新构造包(与Clear Folders不同,不会删除不再存在于Configure中的包)
  • Ignore Type Tree Change:忽略类型树的更改
  • Append Hash:将文件哈希值附加到包名上(没啥用)
  • Strict Mode:严格模式,如果打包时报错,则打包直接失败。
  • Dry Run Build:运行时构建

每一个AB包打包出来都只对应一个平台,如果需要换平台则要重新打包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值