MD5校验和资源代码热更(U3D)

MD5校验和资源代码热更(U3D)

大家都知道,做为游戏开发,现在公司肯定会问你会不会LUA,会不会热更新,等。直入主题哈,今天给大家分享一下游戏中MD5校验和资源代码热更。当然只是从服务器把资源代码更新到本地,并不会给大家讲解lua,因为要慢慢来嘛,一下也讲解那么多也消化不了,那就期待,开始吧!

首先,我们开发引擎是Unity,Windows平台,用的服务器为阿里云,在上面布置了TomCat做为我们的资源服务器。

先来看一下我们的资源,在我们电脑上创建一个Resources文件夹,里面放我们的资源,
在这里插入图片描述
这时,我做了一个md5工具,发布出来了,有需要的可以找我哦(这个不是免费的午餐)!不多说了如图
在这里插入图片描述
我们运行这个md5工具,如下
在这里插入图片描述
选择我们的Resources文件夹,然后点击生成,会生产一个校验文本,会让你选择生产目录如下
在这里插入图片描述
我们还选择Resources文件夹下,然后点击保存,如下

在这里插入图片描述
这时,我们校验文本就生成了,我们来看一下
在这里插入图片描述
接下来,我们把我们的资源文件拷贝到我们的服务器啦。

打开我们的阿里云服务器,找到我们安装的的tomcat文件夹下webapps下Root文件夹,把我们的Resources文件夹,拷贝过来,如下
在这里插入图片描述
这时我们运行我们的Tomcat,如下
在这里插入图片描述
服务器,这面的工作就做好了,接下来,就到重点了,在Unity里编写我们的更新校验代码啦。

我们创建一个检查更新的场景叫做UpdateCheck,创建个空物体CheckDataUpdate,当然要创建个c#脚本挂在上面了哦,叫做ResUpdate,如下
在这里插入图片描述
,接下来看我们的代码,讲解一下原理呀,就是我们客户端的md5校验文本和服务器上的校验文本对比呀,本地没有的更新,有的不一致的则把本地的替换成从服务器下载下来的。嗯 就这么简单。

手机(Android)的我们把更下的资源放在持久化目录了,就是Application.persistentDataPath,可读可写,PC版本就放在Resource文件夹下了贴代码
在这里插入图片描述
更新对比的文本叫version.txt,第一次,本地没有会自动从服务器全更的哦。我们的服务器地址,跟下的本地地址,要更新文本名称保存在List集合里。
在这里插入图片描述
进行检测了,里面我做了一些网络的东西,断网提示和短线重连一类的,大家可以忽略。
在这里插入图片描述
在这里插入图片描述
第一次,更新进行对比,本地文件加载用的www,服务请求用的UnityWebRequest
在这里插入图片描述

继续贴代码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
贴完了,接着我们运行一下看看,
在这里插入图片描述
提示资源在更新了,并且我打印了更新文件的名字,这时我们可以做进度条哦,有兴趣的。

有需要帮助的可以加我扣扣:95106197(因为工作比较忙,不是免费的晚餐哦),验证附加:MD5资源热更

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值