Unity热更新方案C#Like(二)-导出官方示范的例子,确认方案可行性

C#Like是Unity的热更方案,使用纯C#语言写出可以热更新的代码,就像可以在所有平台使用DLL(动态链接库)文件一样.遵从KISS设计原则,让用户轻松构建或升级成Unity的热更新项目.

简介

本篇主要介绍如何一步一步地导出官方示范的例子,来验证我们的Unity热更新方案C#Like是真正做到代码和资源全热更新的.

我们的示范包含内置示范例子和2个Unity官方的免费示范例子转化成的可热更新项目,现在把这3个例子分别导出AssetBundle, 然后在一个空白不包含任何游戏代码和资源只包含C#Like免费版和必要依赖库的项目,导出成初始包,按需下载前面导出的AssetBundle, 然后运行游戏.下面是导成WebGL平台的,其他平台类似.

导出步骤:

步骤一:下载资源

在顶部或GitHub或官网都可以下载,下载回来的压缩包CsharpLikeFreeDemo.7z包含子目录:

  • 目录CSharpLikeFree : 内置Demo
  • 目录TankFree : 已改为热更新项目的Unity官方免费例子"Tanks! Tutorial"
  • 目录PlatformerMicrogameFree : 已改为热更新项目的Unity官方免费例子"Platformer Microgame"
  • 目录CSharpLikeFreeDemo : 只包含C#Like免费版和必要依赖库的项目,不包含任何游戏代码和资源的初始包,最终导出为"C#Like免费版演示"
步骤二:把3个演示的热更新项目的代码和资源,依次导出为AssetBundle以备用
  1. CSharpLikeFree:内置Demo
    • Unity打开项目CSharpLikeFree,菜单"File"->"Build Settings..."->Platform选中"WebGL"->点击按钮"Switch Platform",切换到WebGL平台
    • 菜单"Window"->"C#Like"->"C#Like Setting"->(可选)修改"Download Path"为你自己网页的地址->点击按钮"Rebuild Scripts"
    • 最终生成目录"CSharpLikeFree\AssetBundles\CsharpLike",后续步骤会用到该目录
  2. TankFree:已改为热更新项目的Unity官方免费例子"Tanks! Tutorial"
    • Unity打开项目CSharpLikeFree,菜单"File"->"Build Settings..."->Platform选中"WebGL"->点击按钮"Switch Platform",切换到WebGL平台
    • 菜单"Window"->"C#Like"->"C#Like Setting"->(可选)修改"Download Path"为你自己网页的地址->点击按钮"Rebuild Scripts"
    • 最终生成目录"TankFree\AssetBundles\Tank",后续步骤会用到该目录
  3. PlatformerMicrogameFree:已改为热更新项目的Unity官方免费例子"Platformer Microgame"
    • Unity打开项目CSharpLikeFree,菜单"File"->"Build Settings..."->Platform选中"WebGL"->点击按钮"Switch Platform",切换到WebGL平台
    • 菜单"Window"->"C#Like"->"C#Like Setting"->(可选)修改"Download Path"为你自己网页的地址->点击按钮"Rebuild Scripts"
    • 最终生成目录"PlatformerMicrogameFree\AssetBundles\MicrogameFree",后续步骤会用到该目录
步骤三:导出初始包CSharpLikeFreeDemo
  • Unity打开项目CSharpLikeFree,菜单"File"->"Build Settings..."->Platform选中"WebGL"->点击按钮"Switch Platform",切换到WebGL平台
  • 上面3个项目导出的目录复制到目录"CSharpLikeFreeDemo\AssetBundles",现在该目录下包含3个目录"CsharpLike","Tank","MicrogameFree"了
  • 菜单"Window"->"C#Like"->"C#Like Setting"->(可选)修改"Download Path"为你自己网页的地址->点击按钮"Merge JSON manually"
  • 菜单"File"->"Build Settings..."->点击按钮"Build"
  • 最终导出WebGL项目到目录"CSharpLikeFreeDemo/CSharpLikeFreeDemo"
步骤四:发布到你的网页服务器
  • 复制前面步骤生成的AssetBundle到目录"CSharpLikeFreeDemo/CSharpLikeFreeDemo",最终文件树如下:
    --CSharpLikeFreeDemo  
      |--AssetBundles  
      |   |--CsharpLike             //这个目录由上上一步骤的步骤1导出目录  
      |   |   |--WebGL  
      |   |       |--code.ab  
      |   |       |--config.json  
      |   |       |--cslike.ab  
      |   |       |--demoscene.ab  
      |   |  
      |   |--MicrogameFree          //这个目录由上上一步骤的步骤3导出目录  
      |   |   |--WebGL  
      |   |       |--code.ab  
      |   |       |--config.json  
      |   |       |--microgamefree.ab  
      |   |  
      |   |--Tank                   //这个目录由上上一步骤的步骤2导出目录  
      |   |   |--WebGL  
      |   |       |--code.ab  
      |   |       |--config.json  
      |   |       |--tanks.ab  
      |   |       |--*.wav          //这些音效文件是原音效压缩过的  
      |   |  
      |   |--gamesWebGL.json  
      |  
      |--Build  
      |   |--CSharpLikeFreeDemo.data.unityweb  
      |   |--CSharpLikeFreeDemo.framework.js.unityweb  
      |   |--CSharpLikeFreeDemo.loader.js  
      |   |--CSharpLikeFreeDemo.wasm.unityweb  
      |  
      |--TemplateData               //这个目录是默认的WebGL框架的图片资源  
      |  
      |--index.html                 //这个文件需要屏蔽是否为手机环境的判定,使得在手机浏览器下也能运行 

  • 把上面文件树目录CSharpLikeFreeDemo发布到你的网页服务器:
    • 例如使用Apache作为网页服务器,可以放到"D:\xampp\htdocs\CSharpLikeFreeDemo"
    • 例如我的使用KissFramework作为网页服务器,可以放到"C:\MyServer\wwwroot\CSharpLikeFreeDemo"
  • 最终使用浏览器访问你的最终WebGL版的C#Like免费版演示.
    例如官网的的https://www.csharplike.com/CSharpLikeFreeDemo/index.html

最终目标:

我们通过这个验证了我们不包含任何代码和游戏资源的IL2CPP的初始包,通过AssetBundle下载3个完全独立的游戏项目,做到了热更新代码和资源的功能. 如下面的本系列文章导读,我们一步一步地学习和实践这个热更新框架吧.

 本系列文章导读:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C#Like

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值