Unity AssetBundle 游戏资源分类及关系
--刚刚做完一个xlua的的热更项目,对AssetBundle资源分类总结一下。纯理论,闲谈知识,要是有建议,尽管提 ,不掺杂代码。
--这里说说,AB是如何打包,如果下载,如何加载。
1.关键词理解:有依赖(公共),无依赖,常驻(使用频率),非常驻。
所谓依赖,无依赖。
画红圈的就是有依赖关系的,但是Unity中,如何知道有哪些资源有依赖关系呐。
一般,我们每次Build后会自动生成AndroidManifest.xml,这里面就详细叙述了资源之间的
依赖关系。
2.下载资源?
下载资源的话,我这边是通过Version文件对比获取所需下载资源,没什么好讲的。
一张图,解释:
3.如何加载?
最主要的就是这边了。
I.加载的优先级
首先加载的是 常驻公共资源,
再加载经常反复资源,
当然如果进入战斗(某个特定模块),就加载非常驻公共资源。
其他资源是当使用时加载。
II.释放资源
常驻资源肯定是不能unload(false)的,这边释放资源,释放的是其他资源。
对于unload(false),还是unload(true) .
unload(false)适合反复使用资源,一次Load之后,再也不需要Load,且与其他资源没有"被依赖关系"。
unload(false),释放的是自身。
unload(true),释放的是自身以及自身所有的子节点。因此,unload(true),慎用。
III 缓存资源
一般常驻资源,最好缓存把AB存为需要的GameObject,例如子弹之类。
学以致用,不致用,何学?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?