UE4 DLC更新技术探索

[复制链接]
查看9693 | 回复19 | 2017-1-12 11:57:09 | 显示全部楼层 |阅读模式
本帖最后由 天才小熊猫 于 2017-1-12 13:03 编辑

转自作者:秋本明china
不是我写的- -所以有问题群里@作者好了。我只是帮作者整理一下。

新更新的UE4.14.X系列追加了“Mobile Path Utilities Blueprint library”,即移动应用补丁蓝图库。
可是目前国内并没有对该蓝图库做详细的教程。同时虚幻4官方文档也仅仅是对对应的节点进行解释,也没有具体例程。
所以本人开此直播贴。。。。为的是探究这个补丁库的用法。

事先要准备的玩意:
首先你必须有一个可以提供HTTP通信方案的服务器,无论是虚拟服务器还是虚拟主机,反正能够通过HTTP协议访问到的服务器均可。

当然,开发前期,你可以通过自行搭建的服务器来做测试

项目的打包:
在项目开发初期一定要选择“蓝图+C++”开发方式,不然DLC部分一定会打包失败。虽然我没测试过。。。这是前人测试的结果。
编辑器启动的太慢。。。我们聊点别的:
一般来说,UE4的数据更新模式就是,移动客户端有固定不变的地图,通过补丁库的命令请求服务器上最新的版本号以及其下载地址和大小。
如果为最新版,那么就下载并安装,之后再检查是否安装了最新的内容。


我们现在想让“online”地图作为客户端本地更新模块,去更新system的内容

system当中包含了两个地图(有子文件夹,这里不过多解释),startVideo(启动地图)、newFight(新手战斗训练场)
我们现在做一个打包测试,来看看我们会得到什么
首先在窗口菜单中选择“项目启动程序”

然后在弹出的窗口中,点击自定义启动概述文件的倒三角。。。。。。就这样解释吧。。。

之后选择你要打包的平台,安卓或苹果

给出文件的储存位置:(点击browse)

在最小安装包下只选择更新用的地图“online”

在“DLC”(Downloadable content)下选择你所使用的贴图模式,其中“All”模式是将所有设备用的贴图类型打包成一个包,“Multi”模式则是将所有设备用的贴图类型分别打包。
其余的都是各个贴图类型的名称。
本次用红米NOTE3测试,所用贴图类型为ETC2
然后选中你要通过下载才能打开的地图名称。



这时,设备概述文件中会多出两个概述。分别是AAPK和ADLC,点击最右侧的按钮“启动设备概述文件”,就会进入打包窗口。打包时间稍长,请等待数十分钟。(数小时的我也赶上过。。。)

打包完成时点击“已完成”:打包DLC的

打包完成后,在我们指定的目录下就会得到两个文件夹及内容(废话了):

HTTP服务简易搭建(你们大可不必采用我的方法):
本地新建一个HTTP服务器,PHP+Apache+MySQL
外部访问地址是:192.168.31.221:80(192.168.31.221),当然,我怎么可能用公网测试。。呵呵呵呵呵
我们直接将域名的根地址指向“E:\**(项目名)**\DLC\HTTPchunks”

打开online的关卡蓝图。我们不必做那么复杂的东西,直接启动的时候就开始检测更新。

当然,大家可以去翻一翻生成以后的内容。。。但是千万不要修改。
还有,我估计不需要注释了。。。。
当然,这里有些特殊的专用于移动设备的蓝图节点,大家可以酌情使用:

Has Active WiFi Connection:是否有活动的WIFI链接。说白了就是有没有WIFI罢了。
Get Supported Platform Names:给出支持的贴图类型(字符串数组)。具体值请参阅刚刚打包时的选项。
Get Active Device Profile Name:给出设备概述名称。这个要自己看设备概述文件里的东西了。因为这个东西是可以在设备概述文件里修改的。。。。
Get Installed Content:一会讲,这个是获取安装内容。

继续刚刚的Request Content:
从On Succeeded(执行成功)拖出一个自定义事件,参数值是Mobile Pending Content(引用),赋值到一个变量上“MPC”,从改变量中拖出Start Install方法。
从On Failed(执行失败)拖出一个自定义事件,参数是错误文本和错误值,当然,你不进行任何错误处理,也要拖出来On Failed事件

从刚刚的Start Install节点中拖出两个事件:
OnSucceeded(安装成功):当然安装成功不是全部,你必须把数据包增量到主数据区,所以拖出MPC变量,调用Mount方法。(当然,增量也会有失败的时候)
OnFailed(安装失败)。

Mobile Pending Content还提供了其他的功能:
实时更新类:
获得下载速度
获得下载状态文本
获得安装进入
获得总下载大小

终端数据类:
获得储存区空闲空间
获得下载大小(下载后)
获得安装后内容大小
获取安装所需空间

现在将AAPK重新打包一遍


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
个人博客 : ericsong.org
MagicJ_23 | 2017-1-12 13:01:01 | 显示全部楼层
太厉害了!!
回复

使用道具 举报

assn123 | 2017-1-12 17:46:57 | 显示全部楼层
谢谢分享。学习一下
回复 支持 反对

使用道具 举报

bull_chris | 2017-1-12 19:10:15 | 显示全部楼层
先马,再学习,必须的!
太及时了,正愁UE4应该怎么加DLC的时候,楼主就出现了!
回复 支持 反对

使用道具 举报

小萌新 | 2017-1-12 20:38:45 | 显示全部楼层
太厉害了!!
回复

使用道具 举报

bboyweichun | 2017-1-13 06:37:36 | 显示全部楼层
感谢分享~!!!!!!!!!!!!!!
回复

使用道具 举报

gambol | 2017-1-13 08:29:46 | 显示全部楼层
长姿势了,看看
回复 支持 反对

使用道具 举报

chinabeater | 2017-1-13 08:47:59 | 显示全部楼层
这个凶,必须顶
回复 支持 反对

使用道具 举报

cowolfox | 2017-1-13 09:14:19 | 显示全部楼层
感谢版主教程
回复 支持 反对

使用道具 举报

mbskyshuai | 2017-1-13 09:15:32 | 显示全部楼层
太厉害了 谢谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则