【Unity工具篇】| 游戏完整资源热更新流程,YooAsset官方示例项目
前言【Unity工具篇】| 游戏完整资源热更新流程YooAsset官方示例项目一、导入示例工程二、 Editor Simulate Mode 编辑器下的模拟模式三、Offline Play Mode 离线运行模式四、Host Play Mode 远程联机运行模式4.1 选择Host Play Mode4.2 使用python添加本地测试服务器4.3 打包测试4.4 资源热更测试总结前言在Unity 3D游戏开发中资源管理与热更新是保障项目高效交付、提升玩家体验的核心环节直接决定了游戏的迭代效率、安装包体积控制及线上运维能力。YooAsset作为一套经过多款百万DAU游戏产品验证的Unity资源管理系统凭借其灵活的打包策略、高效的资源加载机制、完善的版本管理及多平台适配能力成为解决商业化游戏资源管理需求的优选方案。前面文章讲了 YooAsset的原理及配置 的相关内容本篇文章使用官方示例项目测试完整热更新流程。【Unity工具篇】| 游戏完整资源热更新流程YooAsset官方示例项目一、导入示例工程打开管理界面Edit/Project Settings/Package Manager// 输入以下内容国际版Name:package.openupm.comURL:https://package.openupm.comScope(s):com.tuyoogame.yooasset在Package Manager的MyRegistries中找到YooAsset官方一共提供了以下几个示例Space Shooter太空战机DEMO包含完整资源热更流程演示。Mini Game小游戏平台的文件系统扩展库。Extension Sample包含编辑器扩展代码的示例和着色器变种收集器。UniTask Sample包含支持UniTask代码的示例。Test Sample单元测试用例。这里选择安装Space Shooter进行学习。二、 Editor Simulate Mode 编辑器下的模拟模式第一步Space Shooter在导入完成后打开YooAsset-AssetBundle Collector窗口。第二步点击Fix修复按钮然后点击Save按钮保存配置最后关闭窗口。第三步PlayMode需调成Editor Simulate Mode不然在Editor下没法游玩。找到Boot.scene场景启动游戏。三、Offline Play Mode 离线运行模式第一步Build构建。打开YooAsset-AssetBundle BuilderCopy BuildinFile Option选择Clear And Copy All然后点击ClickBuild进行构建。提示如果构建失败可以保存一下场景然后再次尝试。此时在Assets下会自动创建文件夹StreamingAssets和本次对应的bundle文件。第二步打开Boot场景PlayMode选择Offline Play Mode然后启动游戏。游戏可以正常游玩且右下角的版本已经变成本次构建的版本号。四、Host Play Mode 远程联机运行模式4.1 选择Host Play Mode首先打开Boot场景PlayMode选择Host Play Mode此时应该没办法游玩。4.2 使用python添加本地测试服务器在本地新建文件夹目录CDNFile里面放一个文件夹CDN和一个bat文件启动本地服务器。CDN目录下新建Android和PC文件夹然后在PC目录下再新建一个v1.0文件夹用于放bundle文件。把在Unity中Build的bundle包默认在该目录下Bundles\StandaloneWindows64\DefaultPackage\复制到v1.0文件夹下。此处的目录结构为~/CDN/PC/v1.0否则没办法正常加载热更资源因为示例代码中获取资源服务器地址是这样写的也可以通过改代码的方式调整对应的目录结构。startServer.bat内容如下使用python启用本地服务器没有安装Python的需要去安装一下。python-mhttp.server80此时双击startServer.bat文件会打开一个命令行窗口然后去浏览器输入http://127.0.0.1/进行访问可以看到本地目录就完成了。这个时候启动游戏可以正常运行就说明配置成功了。4.3 打包测试游戏可以正常运行了开始Build一个PC包进行热更测试。打开游戏可以正常运行游玩此时如果想更改游戏内容的话就只能重新打包。接下来在Unity中对游戏进行修改然后进行热更测试在不重新打包的情况下修改游戏内容。4.4 资源热更测试打开UIHome预制体这个是游戏主页面的UI直接在该UI页面上面进行新增一张图和调整了按钮的位置。接下来打开AssetBundle Builder重新点击ClickBuild把前面创建的文件夹v1.0中的内容全部删掉将新build出来的内容全部复制到v1.0中。此时再运行前面打包好的exe文件查看效果前面的startServer.bat也要运行否则拉取不到内容。可以看到进入游戏的时候弹出一个更新提示更新完之后进入游戏会发现UI主页面已经更新了这样在没有重新打包的情况下就完成了一次资源的热更新流程。总结本文围绕YooAsset官方示例项目搭建与资源热更新展开了详细的实操讲解。通过本文的学习可顺利完成官方示例项目的搭建理解资源热更新的核心流程——包括资源包构建、版本管理、远程下载、及本地加载的全链路实现。YooAsset的价值不仅在于示例项目所呈现的基础功能其分布式构建、资源加密、引用计数内存管理等高级特性还能满足超大体量项目、多平台部署等复杂场景的需求。后续可基于本文讲解的示例流程结合自身项目需求灵活拓展YooAsset的使用场景优化资源管理策略实现更高效的资源交付与热更新迭代。 博客主页https://xiaoy.blog.csdn.net 本文由呆呆敲代码的小Y原创 学习专栏推荐Unity系统学习专栏 游戏制作专栏推荐游戏制作Unity实战100例专栏推荐Unity 实战100例 教程 欢迎点赞 收藏 ⭐留言 如有错误敬请指正 未来很长值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------资料白嫖技术互助学习路线指引点击解锁知识定位人群定位 Unity系统学习专栏入门级本专栏从Unity入门开始学习快速达到Unity的入门水平 Unity实战类项目进阶级计划制作Unity的 100个实战案例助你进入Unity世界争取做最全的Unity原创博客大全。❤️ 游戏制作专栏难度偏高分享学习一些Unity成品的游戏Demo和其他语言的小游戏 游戏爱好者万人社区互助/吹水数万人游戏爱好者社区聊天互助白嫖奖品 Unity100个实用技能Unity查漏补缺针对一些Unity中经常用到的一些小知识和技能进行学习介绍核心目的就是让我们能够快速学习Unity的知识以达到查漏补缺