查看原文
其他

Unity Multiplayer多人联网全新升级

2017-03-20 Unity官方 Unity官方平台

Unity作为全球开发者信赖的开发平台,也为大家提供了包括Unity Ads广告、Analytics分析、Performance Reporting性能报告及Multiplayer多人联网等在内的多个服务。其中Multiplayer多人联网服务,用于帮助开发者在Unity中快速实现大型网络对战游戏,最近我们也对该重要服务进行了全新升级。本文将为大家分享Multiplayer多人联网的文档与基层功能改进,以及不久后将呈现的新面貌。


全新升级内容(文档及教程)

过去几个月我们对Multiplayer多人联网进行了全新升级:

  • 文档:重新编写并审阅与Multiplayer多人联网有关的部分,修复并改进了整个多人联网的文档内容。同时也会尽量保持文档风格与此前一致,以便于各位开发者理解。

  • 教程:在Unity内容制作团队的帮助下,我们推出了全新升级的Multiplayer多人联网教程,一个完整的游戏案例,介绍在Unity中如何利用Multiplayer实现多人联网游戏。大家可以访问Asset Store资源商店下载该游戏的完整项目示例,也可以至各大应用商店下载该游戏。

  • 其它:修复了一些旧版Multiplayer中存在的Bug,这些Bug修复会更新到下一个Unity版本中。


访问Asset Store下载《Tanks!!!》工程,或在应用商店搜索该游戏


实现新的传输层

我们重构并改进了传输层的代码,来定位之前的实现存在的问题。这并不会影响现有的API调用(例如NetworkTransport及其它类),因为几乎所有改变都位于Unity内部。新的传输层在网络环境不可靠的情况下会更加强壮


例如在之前的版本中,如果可靠数据包的队列空间不足就会出现问题。这部分的实现基本上就是Multiplayer服务器DLL中的一部分,所以新版本也对服务器进行了优化。服务器DLL即将发布,暂时无法透露太多细节。


Unity 5.6将包含全新的传输层,目前该版本还处于最终测试状态。Unity 5.4实验版也包含新版传输层,使用该版本进行测试后准备合并到Unity 5.6正式版中。Unity 5.4实验版将持续更新最新的Multiplayer功能,如果觉得此前的Multiplayer无法满足您的需求,也可以先尝试Unity 5.4实验版。


请点击【阅读原文】获取带有全新Multiplayer的Unity 5.6测试版及Unity 5.4实验版。


后续计划

过去我们介绍过Unity网络模块发展的三个阶段:


1

阶段一

利用所有工具设置好基本框架为实现多人联网游戏做准备。该步骤专注于CS(客户端及服务器)架构,这与旧版的网络解决方案类似(NetworkView类及其他),可以将某个客户端作为主机或者不设置主机,还可以将某个Unity播放器作为服务器。


2

阶段二

利用优化的专用服务器提供更加高级的服务器支持,我们称之为模拟服务器。服务器DLL就是朝着该方向迈进的一步,您可以脱离Unity编辑器运行一个只有网络库与协议,以及游戏本身逻辑的简易服务器。


3

阶段三

实现在一个大型模拟服务器中轻松管理多个模拟服务器,轻松玩转MMO。


现有功能与即将到来的新功能

目前我们正专注于社区开发者急需的部分,即基层改进。只有在基层功能足够强壮后我们才会进入下一步。现已开始或即将在本年内(Unity 5.6之后的版本)发布的网络功能如下:

  • 支持NAT穿透。可能会在我们的服务中包含一种额外的服务器类型,以便于设置NAT穿透连接,还将在传输层及更高层(高级API与网络管理器)上加入新的功能。

  • 实现Multiplayer控制面板。现在可以更方便地自动接收有限的CCU(并发控制单元)请求(现已实现),也能更方便地了解使用情况与统计信息。

  • 改进匹配与中继服务。这包括主机迁移所需的中继支持,关于带宽阈值的通知消息,以及改进API中的匹配过滤功能。

  • 内置支持Steamworks P2P API。目前仅在高层API中支持将消息发送至其他传输层,或从其他传输层接收消息。我们计划加入对Steam的专有支持,替换API中对传输层的实现。


我们还将致力于改进高级API,尤其是对于传输层,会加入更多调试工具。这将让开发多人联网游戏更加轻松。这些改进与新内容将在基层功能稳固并完善后加入。


移除旧版基于RakNet的网络功能

在未来加入NAT穿透支持后,我们将移除旧版的网络功能,旧版功能在新版网络发布时就已弃用。新版网络系统完全可以胜任旧版的功能,所以旧版功能可以完全移除。目前还不能确定正式支持NAT穿透的时间,计划是在Unity 5.6正式版发布后的一两个小版本内加入该功能。


现在点击【阅读原文】,即刻体验全新升级的Unity Multiplayer多人联网!


更多Unity技术内容

在Unity中实现程序化音频

Unity崩溃报告自动处理工具:Crash Analyzer

Amplify Shader Editor基础教程

如何在Unity中实现非真实感渲染

使用Unity进行增强现实中的光照和阴影的渲染

Unite 2017 Shanghai

一年一度Unity开发者的盛会:Unite 2017 Shanghai即将于5月开幕!在这里,来自全球的Unity技术大咖,为您分享Unity的全新技术和战略;来自全国的优秀Made with Unity案例,让您大饱眼福。相信您会在短短的几天内收获良多!


目前5折个人通票已经开售,三人团购还可享受8折优惠!技术专场内容抢先看


其他Unite 2017 Shanghai活动:


更多信息请访问Unite 2017 Shanghai官方网站(unite2017.csdn.net)!




点击“阅读原文”抢先体验升级版Unity Multiplayer!

70 22383 70 15757 0 0 3463 0 0:00:06 0:00:04 0:00:02 3463

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存