Unity网络系统插件,打通游戏联网任督二脉
今天为大家分享Asset Store资源商店中几款网络系统插件,帮助大家在Unity项目中更加自如地实现各类网络请求,例如文件下载与上传、玩家匹配、应用自动更新等,这些插件能够帮助大家大大减少实现网络系统的工作量,轻松进入多人联网世界。
Best HTTP (Pro Edition)
Best HTTP (Pro Edition)是一款支持自定义HTTP网络请求的插件,它基于HTTP/1.1协议与RFC 2616实现,支持REST、WebSocket、Socket.IO,SignalR及服务器发送事件等。该插件支持WebGL、iOS(64位IL2CPP脚本后端,IPV6)、Android及PC平台。
Best HTTP (Pro Edition)可以自定义网络请求,并为所有类型的请求提供GET、HEAD、POST、PUT、DELETE及PATCH方法。支持Cookies、超时处理、连接池、访问服务器发送的所有数据。
使用Best HTTP (Pro Edition)的过程非常简单,首先在脚本中声明BestHTTP命名空间,获取请求需要新建HTTPRequest对象,并传入请求访问的URL与回调函数。代码如下:
如果想上传图片,可以使用以下代码:
也可以使用自定义文件头:
显示下载进度:
Best HTTP (Pro Edition)提供的接口简单易懂,且功能齐全,适用于几乎各类游戏。
下载地址:https://www.assetstore.unity3d.com/en/#!/content/10872
Coffee Auto Patcher System
Coffee Auto Patcher System是一款用于对Unity游戏进行热更新的插件,支持Windows、Mac及Linux平台的应用,可以与CDN或其它文件托管服务器结合使用,并根据自己项目的需求进行完全自定义。Coffee Auto Patcher System会为客户端自动下载必要更新的文件,确保尽可能节省带宽。
使用Coffee Auto Patcher System的过程较为简单,注意,在Unity项目中集成该插件分为三个部分,创建更新补丁、集成到Unity项目以及配置文件服务器。在Unity中新建项目来实现自动更新补丁很方便,Coffee Auto Patcher System已提供了补丁包Coffee Auto Patcher,新建项目仅导入该资源包,打开场景配置Patch Operator脚本,配置完成后构建应用,与游戏放在同一目录即可。
将该插件集成到Unity项目需要仅导入包中的Coffee Game Files文件夹,打开UpdateExample示例场景,配置UpdateOperator脚本。将UpdateExample场景添加为首先构建的场景,或者将其作为预制件加入现有第一个场景,以保证UpdateOperator脚本在项目开始即运行。
然后在文件服务器端部署该插件,指定服务器地址、区域、帐号及应用名称等信息即可。
下载地址:https://www.assetstore.unity3d.com/en/#!/content/79819
NAT Traversal
NAT Traversal是一款用于在Unity中实现多人联网的插件,让Unity自带网络系统如虎添翼。在Unity高级网络API的基础上加入了NAT穿透及自动端口转发,并且不会影响其它的UNET代码。通过随时直接建立客户端连接以实现最小化延迟,如果NAT穿透失败,则自动切回Unity中继服务器,保证客户端持续连接。
使用NAT Traversal非常简单,仅需3个函数即可完成所有配置。首先确保在Unity项目中启用Multiplayer服务,然后设置使用NAT穿透所需的Facilitator,配置服务器并运行插件包中的Facilitator可执行文件,记住Facilitator运行时的IP与端口。然后添加一些设置来连接客户端,打开插件中的Example示例场景,选中NetworkManager对象,在facilitatorIP与facilitatorPort字段中填写之前记下的IP及端口。复制项目并运行为“主机”,将该项目运行为客户端,点击“Join”按钮建立连接,即可测试。
温馨提示:该插件仅支持Windows、macOS与Linux平台,不支持WebGL与移动平台。
下载地址:https://www.assetstore.unity3d.com/en/#!/content/58948
结语
这几款网络插件均针对多人联网游戏不同部分的功能,有HTTP解决方案、自动更新补丁以及能够大大改善联网游戏体验的NAT穿透,希望这些插件对正在使用Unity开发多人联网游戏的大家有帮助。我们还将为大家分享Asset Store中的实用插件在Unity官方中文社区(unitychina.cn),请大家保持关注。
推荐阅读
点击“阅读原文”进入Unity官方中文社区!