Unity Addresable打包总结第二弹

news/2025/2/24 13:38:00/文章来源:https://www.cnblogs.com/chenxiayun/p/18730771

前言

前文介绍了Addressables在本地打包是怎么使用,这里介绍下怎么打远程包,并且怎么做到打增量包,Let's Go!

远程包

  1. 新建一个Group,将它的 BUild & Load Paths 改为Remote,并将RemoteRes资源文件夹塞入Remote Group,其中包含一个Capsule.prefab资源:
    image
  2. 在Addressabvles Group窗口下,点击Build->New Build->Default Build Script,进行打包。打包成功后,在ServerData/StandaloneWindow64目录下,可以看到打成功的bundle包(重新将整个游戏工程打包,在游戏资源文件夹内是不存在远程包的):
    image
  3. 在github新建项目,并将刚刚打好的Remote包上传:
    image
  4. 然后修改Addressables的Remote Load Path为我们刚刚建立的hub项目地址(注意,修改地址后要重新打个整包,不然Load Path不会生效,感觉是个很坑的地方):
    image
  5. 然后修改 Addressables Groups 下的Play Mode Script,改为 Use Existing Build(Windows),运行游戏后,发现资源加载成功:
    image

增量包

我们常常有热更资源的需要,不能让玩家每次更新都要将全部资源重新下载一遍。这里我们就可以用到Addresable提供的资源热更的功能

  1. 首先找到 AddressableAssetSettings.asset,并勾选 Build Remote Catalog。
    image
  2. 在重新打个整包,我们会发现,除了生成.bundle包,还生成了catalog的.hash和.json文件,有了这2个文件,我们后续打增量包才能对比出是哪些文件发生了变化:
    image
  3. 我们将打包的文件整个重新上传到hub:
    image
  4. 我们修改下Capsule.prefab资源,让他里面内含2个预制体:
    image
  5. 打开Addressable Groups,点击Build->Update a Previous Build,生成热更包,这时在SeverData/StandaloneWindows64目录下,会发现生成出来的增量包:
    image
  6. 连同 hash 和 json 文件,一起提交到hub中,完成增量包提交:
    image
  7. 此时在重新运行,发现成功加载出新的资源:
    image

完整的热更策略

上文虽然简单介绍了增量包的使用方法,接下来再介绍一下常规的客户端更新流程:
image
玩家从服务器下载完游戏后,开发者制作后续新玩法内容,打热更包上传到服务器,玩家下次登录游戏时,从服务器检查到有新玩法内容,从服务器进行下载新资源包。

分包策略

常见的分包手段是基于模块进行划分,将同类的资源放入同一个文件夹内,这个文件夹可以单独打一个ab包来处理。例如某个玩法相关的所有UI,可以打成一个包进行处理。

下载全部热更资源

image

下载版本文件

在玩家启动游戏的时候,首先会获取一个本地的版本文件,该版本文件一般包含2个内容,脚本版本号,资源版本号。再从服务器请求一个版本文件,同样包含脚本版本号,最新脚本获取地址。
首先会对比脚本版本号是否相同,不同则下载最新的脚本文件,例如我们项目使用的ilr热更框架,下载则是HotFix_Project.dll.ilr。同步完成后就可以开启对应热更框架的虚拟机,去执行热更代码了。

解包

下载完成后,我们进行资源加载会有以下2个关键步骤:

  1. 首先读取依赖关系(这个依赖关系在资源进行打包时,Unity会自动记录下)
  2. 先加载所有的依赖项,最后再加载资源主体

引用

[1], 静态包、动态包有什么区别?何时使用增量更新?Addressables 更新流程大梳理
[2]. 资源管理、Addressable与代码热更

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/888985.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BUUCTF-RE-[2019红帽杯]easyRE

这道题很难,但是并不难在他的解题要用到的方法和技巧上,而是难在它的题目设计。做的过程中真的有一种闯关的感觉,非常有趣 首先我们通过对字符的定位我们可以来到sub_4009C6函数 __int64 sub_4009C6() {__int64 result; // raxint i; // [rsp+Ch] [rbp-114h]__int64 v2; // …

2025年免费项目管理软件哪家强?5款零成本工具实测报告

在项目管理领域,众多团队尤其是初创企业和小型项目组,都渴望找到功能实用且零成本的软件来助力项目推进。2025 年,有 5 款免费项目管理软件表现突出,它们分别是禅道、Trello、Asana、Redmine 以及国内新兴的钉钉项目管理相关功能,下面将为大家带来详细的实测报告。一、禅道…

BT151-ASEMI电机控制专用BT151

BT151-ASEMI电机控制专用BT151编辑:ll 在当今科技飞速发展的时代,电子元件宛如繁星般点缀着各个领域,而 BT151 单向可控硅无疑是其中一颗极为耀眼的明星。 BT151-ASEMI电机控制专用BT151 型号:BT151 品牌:ASEMI 封装:TO-220F 正向电流:12A 反向电压:600V~800V 引脚数量…

销售必备60招

脸皮厚、嘴巴甜、手脚勤。先放下面子努力拿下客户,提高收入,往后在亲友面前抢着买单时,面子自然就有了。干销售得有狼性、野性和匪性,还要有胆量。推销是常识的运用,但只有将经实践验证的理念用于积极的客户身上,才会产生效果。想要取得惊人成绩,必须先做好枯燥乏味的准…

【H2O系列】关于H2O和OmniH2O代码安装及代码解读摘要`

0. 前言 这篇博客主要用于过程记录H2O代码部分的参数解读部分。 一方面便于日后自己的温故学习,另一方面也便于大家的学习和交流。 如有不对之处,欢迎评论区指出错误,你我共同进步学习! 1. 论文&项目 项目地址:https://omni.human2humanoid.com/ 我自己总结的论文摘要…

1小时搭建好的智能车间生产看板长什么样?

大家一提到生产看板搭建,可能脑袋里第一反应就是“哎,这个得花大钱买专业软件吧”或者“搭建起来肯定超级复杂”。 其实,真没那么难! 只要找对方法,学会用对工具,搭建一套生产看板其实很简单。 那天,我就亲自试了一下,结果不到两三小时,就做出了一套智能生产看板。 但…

MCN公司如何打造爆款内容?内容创新与品质提升的秘诀

MCN(多频道网络)管理优化是一个涉及多个方面的复杂过程,旨在提升MCN公司的运营效率、增强市场竞争力并实现可持续发展。以下是一些关键的MCN管理优化策略: 一、市场定位与品牌建设 精准市场定位 ○ 深入了解目标受众,包括他们的兴趣、需求和行为模式。 ○ 对自身资源和优势…

JavaScript代码混淆入门

JavaScript代码混淆是一种提升Web应用安全性的策略,旨在使代码难以阅读和理解,从而增加逆向工程的难度。这对于保护知识产权、防止抄袭及减少恶意攻击尤为重要。本文将深入浅出地介绍JavaScript代码混淆的基础概念、重要性、主要方法以及实际应用技巧。 JavaScript代码混淆的…

【解决Deepseek服务器繁忙问题】Chatbox + 硅基流动API调用deepseek-R1满血版教程,搭建本地AI助手

1. 解决Deepseek服务器繁忙问题,无需等待使用Deepseek:Chatbox本地部署 + 硅基流动API调用,绕过官方限流无限速调用 2. 两个简单步骤:从配置到运行全部有截图​ 一、硅基流动官网注册 + 获取密钥 官网链接:https://cloud.siliconflow.cn/i/kKzwdArg填写手机号,获取验证码…

LLM大模型:kimi k1.5 VS deepseek R1

2025春节期间IT圈最火爆的莫过于deepseek了,R1模型利用reinforcement learning掀起了滔天巨浪,一时间deepseek无人不知,无人不晓!但其实和R1同一时间发布的还有kimi k1.5,也是通过强化学习提升reasoning性能的,但可能是因为deepseek做了部分开源,而kimi没有,导致两者的热…

创建WinPE维护系统

电脑出现硬件问题啦,想使用以前备份实现恢复,希望成功....准备工作,做一个WinPE:下载: https://learn.microsoft.com/en-us/windows-hardware/get-started/adk-install#download-the-adk-101261002454-december-2024 (时间久远,有可以访问不到原有的内容)然后安装:安装…

用户说 | 通义灵码2.0,跨语言编码+自动生成单元测试+集成DeepSeek模型且免费使用

作者:小鱼 引言 通义灵码是我一直使用的编码协助工具,我也愿称之为国内程序员的”饭搭子”。 通义灵码,作为国内首个 AI 程序员,从最开始的内测到公测,再到通义灵码正式发布第一时间使用,再到后来使用企业定制版的通义灵码,再再再到现在通义灵码2.0,我可以说“用着”通…