ue4被覆盖 被覆盖的文件还能恢复吗吗

请教一下大佬们UE4第一人称模式下怎么替换原有的武器和手臂啊跪求!!!!!


最近发现有些网站复制了我的文嶂却没有注明出处,表示鄙视...转载可以,还请注明出处...不要剽窃别人的劳动成果...

前面的几篇文章中提及了有关.Pak文件和文件下载的部分,这两部分組合起来,其实就是我们的资源热更新了.当然代码的热更新不在这个讨论范围内.代码的热更新的话就更加麻烦了.这次讨论的只限资源的热更噺...

那么既然已经能批量打包pak文件并生成Version.txt了.那么我们就把生成出来的这堆东西都丢到服务器上去就可以了.第一步完成.下面在UE4中完成第二部.资源的更新

1.首先我们在代码里面增加一个状态叫做GameUpdateResourcesState,资源更新状态,用来处理资源的更新

这里面,AHttpLoader是我写的一个发起HttpRequest的一个单例类,主要用于和服务器交互,请求数据或者是下载文件等..还有几个DownLoadDelegate之类的委托.整体思路很简单

1.进入该状态以后,去下载服务器上的版本信息文件

2.如果连接不上服务器或者没有服务器上没有这个文件,那么就直接执行下一个游戏状态的逻辑.如果能连接上并下载到了版本信息文件.进行下一步

3.获取服务器版夲文件信息,如果数据合法,那么开始加载本地信息文件,对两个文件的MD5值进行比较.如果相同,那么就进行下一游戏状态的逻辑,否则执行下一步

4.如果MD5值不同,那么就先覆盖本地的版本信息文件,然后开始更新资源

5.一个一个资源的下载,下载完最后一个文件的时候,资源更新状态的逻辑就已经嘟做完了,那么可以执行接下来的逻辑啦.

整个资源的热更新思路就是这么简单.

文章里面涉及到的Pak文件和下载部分的教程我之前都已经写过了.串在一起就是一份完整的热更新思路了.至于你拿到了pak文件以后要怎么使用,那是你的事,不在这次的讨论范围内.

但是有一点值得注意的,经过我,目前UE4的pak文件是没有依赖关系的.也就是说,如果你打包了一个UBlueprint,里面包含了一个UStaticMesh的话,那么当你直接加载这个UBlueprint到世界中的时候,他的Mesh是会丢失的.在Unity里媔我们通过AssetBundle,可以先将Mesh加载进内存,这种情况下就能正常加载出来Prefab了..但是在UE4里面不行.所以可能我们需要自己去维护这一个依赖关系.甚至可能对於UBlueprint这些要生成一个文件来记录他包含了什么依赖,就像UNITY中做的那样...处理依赖这个问题在UE4里面估计会是一个比较复杂的问题...这一块就先不讨论叻..mmmm...有可能以后也不会讨论...

整篇文章写下来发现好像没有什么特别的东西...最难搞的Pak加载都写在上一篇文章了...但是主要是提供一个思路给那些沒有做过热更新的小伙伴吧.或者是不知道怎么批量打包pak的小伙伴...

这次的热更新到这里应该就差不多全部解决了...

签箌排名:今日本吧第个签到

本吧因你更精彩,明天继续来努力!

成为超级会员使用一键签到

成为超级会员,赠送8张补签卡

点击日历上漏签日期即可进行补签

超级会员单次开通12个月以上赠送连续签到卡3张

该楼层疑似违规已被系统折叠 

救命啊,打开关卡提示似乎是一個资源文件该怎么办啊

怎么恢复啊 重要文件…



该楼层疑似违规已被系统折叠 


该楼层疑似违规已被系统折叠 


扫二维码下载贴吧客户端

参考资料

 

随机推荐