请选择 进入手机版 | 继续访问电脑版

查看: 3093|回复: 2

[原创] Unity Multiplayer多人联网全新升级

[复制链接]

910

主题

1570

帖子

2万

贡献

管理员

Rank: 9Rank: 9Rank: 9

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

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

过去几个月我们对Multiplayer多人联网进行了全新升级:
  • 文档:重新编写并审阅与Multiplayer多人联网有关的部分,修复并改进了整个多人联网的文档内容。同时也会尽量保持文档风格与此前一致,以便于各位开发者理解。
  • 教程:在Unity内容制作团队的帮助下,我们推出了全新升级的Multiplayer多人联网教程,一个完整的游戏案例,介绍在Unity中如何利用Multiplayer实现多人联网游戏。大家可以访问Asset Store资源商店下载该游戏的完整项目示例,也可以至各大应用商店下载该游戏。
  • 其它:修复了一些旧版Multiplayer中存在的Bug,这些Bug修复会更新到下一个Unity版本中。


image00.png
访问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实验版。

下载Unity 5.6测试版
下载Unity 5.4实验版

后续计划
过去我们介绍过Unity网络模块发展的三个阶段:
  • 利用所有工具设置好基本框架为实现多人联网游戏做准备。该步骤专注于CS(客户端及服务器)架构,这与旧版的网络解决方案类似(NetworkView类及其他),可以将某个客户端作为主机或者不设置主机,还可以将某个Unity播放器作为服务器。
  • 利用优化的专用服务器提供更加高级的服务器支持,我们称之为模拟服务器。服务器DLL就是朝着该方向迈进的一步,您可以脱离Unity编辑器运行一个只有网络库与协议,和游戏本身逻辑的简易服务器。
  • 实现在一个大型模拟服务器中轻松管理多个模拟服务器,轻松玩转MMO。

现有功能与即将到来的新功能
目前我们正专注于社区开发者急需的部分,即基层改进。只有在基层功能足够强壮后我们才会进入下一步。现已开始或即将在本年内(Unity 5.6之后的版本)发布的网络功能如下:
  • 支持NAT穿透。可能会在我们的服务中包含一种额外的服务器类型,以便于设置NAT穿透连接,还将在传输层及更高层(高级API与网络管理器)上加入新的功能。
  • 实现Multiplayer控制面板。现在可以更方便地自动接收有限的CCU(并发控制单元)请求(现已实现),也能更方便地了解使用情况与统计信息。
  • 改进匹配与中继服务。这包括主机迁移所需的中继支持,关于带宽阈值的通知消息,以及改进API中的匹配过滤功能。
  • 内置支持Steamworks P2P API。目前仅在高层API中支持将消息发送至其他传输层,或从其他传输层接收消息。我们计划加入对Steam的专有支持,替换API中对传输层的实现。


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

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

有了NAT穿透支持后,我们将移除旧版的网络功能,旧版功能在新版网络发布时就已弃用。即然新版网络系统完全可以胜任旧版的功能,那就没有什么理由继续保留它。目前还不能确定正式支持NAT穿透的时间,计划是在Unity 5.6正式版发布后的一两个小版本内加入该功能。


下载Unity 5.6测试版
下载Unity 5.4实验版

原文链接:https://blogs.unity3d.com/cn/2017/03/17/update-on-unity-multiplayer-current-and-future/
转载请注明:来自Unity官方中文社区(forum.china.unity3d.com)

10

主题

54

帖子

605

贡献

中级UU族—1级

Rank: 4

积分
600
发表于 2017-3-21 12:23:57 | 显示全部楼层
虽然短时间能可能无法使用,但是还是支持一下,前端变为全栈,可能会节约一些人力成本吧,

0

主题

16

帖子

145

贡献

初级UU族—2级

Rank: 2

积分
145
发表于 2017-3-22 00:39:34 | 显示全部楼层
教程要是能出中文版本就好了,目前感觉unity用网络很吃力
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表