项目 github地址
打开项目选GameLauncher场景,直接启动游戏。我用的是 Unity 2021.3.6f1 版本。但应该是2017之后的都支持,没有实测过。
参考
- 老规矩,先看上面这篇文章,掌握大致的原理。
- 参考前文GameFramework 开发脚手架之 Resource资源管理器 了解游戏美术资源ab包的更新逻辑,本文主要是对打ab包的工具做说明。
打包工具的位置
工具栏-》Game FrameWork -》Resources Tools
三个工具配置文件,都在Editor/Resource/Configs下面
- ResourceCollection.xml
- ab包和资源的映射关系。
- 不存在的话,Resources Editor 保存之后会自动生成。
- 可以先在这个文件配置好ab包的名字(就先定义好有哪些ab包),然后再在 Resources Editor 打开面板的时候选择ab包对应的资源。
Rsources 标签下是定义好的ab包,Assets标签下是ab包和资源的映射关系。
- ResourceEditor.xml
- 打开Resources Editor面板后,资源搜索的根目录
- 根目录下的所有资源会出现在 Resources Editor 面板的最右边的资源列表
- ResourceBuilder.xml
打包的基础信息,对应 Resources Builder打开的面板
两个配置类
- ResourceBuildConfigsPath.cs
配置上面的三个配置文件,让框架可以读取。
- ResourceBuildEventHandler.cs
收集并输出版本相关信息到 XXXVersion.txt,用做热更新的判断。其中XXX是平台名称。需要在Resources Editor 面板进行配置。
工具使用
- Resources Builder 打包的基础配置,这里就简单汇总下用到的几个目录。
- Working 打包工作目录
- BuildReport 打包日志报告,出问题的时候检查下这个log,看是到哪步出了问题。
- Full 所有ab包+版本信息,需要上传服务器做热更,和Packed包配合使用。
- Packed 需要打包到app包作为游戏包内资源,无需单独下载。拷贝到StreamingAssets目录,作为初始包资源。
- Package 单机模式整包资源,拷贝到StreamingAssets目录。
对应配置保存文件,Assets/GameMain/Configs/ResourceBuilder.xml。
- Resources Editor ab包和资源的映射配置,简单汇总下几个选项
- Load Type 磁盘加载方式。
- packed 这个ab包是否需要放到 输出的packed目录。
- 分配虚拟文件 这个需要手动修改ResourceCollection.xml文件
注意,所有ab包都必须至少有一个资源,否则会打包失败
启动热更模式
- BuildIn 节点,去掉 Editor Resource Mode
- Resource 节点,选择 Updatable
- 部署Http 服务器,项目更目录有一个http服务器,启动起来,然后把整个full目录拖过去就好了。
然后就可以愉快的玩耍了,可以多试几次,熟悉下热更的流程。