存在这两种用户群:
· 一种是正准备用Unity做多人游戏的,这些用户需要从学习NetworkManager或者HighLevelAPI开始。
· 还有一种是准备自己构建网络构架或者更高级的多人游戏,这些用户则需要从NetworkingTransport API开始。
High level scripting API
unity的网络模块有一个“high-level”脚本API(我们把它叫做HLAPI)。使用这个意味着你能够熟练的使用命令,这些命令涵盖多人游戏最常见的需求,也不需要担心“lower-level”的实现细节。HLAPI能够使你:
·使用一个Network Manager来控制网络状态
·制作一个客户端为主机的游戏,也就是用户可以自己创建主机。
·使用通用的序列化器来序列号数据。
·发送和接受网络反馈。
·从客户端发送网络命令给服务器。
·从服务器发送远程过程调用给客户端。
·从服务器向客户端发送事件。
引擎和编辑器集成
unity的网络模块是集成在引擎和编辑器里的,使你可以使用组件和可观的建立你的多人游戏。它提供了:
·网络模块物体需要一个NetworkIdentity组件
·网络模块脚本需要继承NetworkBehavior
·对象的transform可以配置自动同步
·自动同步脚本的变量
·支持在unity场景摆放网络模块的对象
互联网服务
在你的开发游戏的过程到发布Unity提供互联网服务,包括以下:
·匹配的服务器
·创建匹配和广告匹配
·列出可用的匹配和可加入的匹配
·服务的传递
·可用不适用专用服务器使游戏在网络运行
·路由信息给匹配的参与者
NetworkTransport real-time transport layer
这也是unity的一个API(Real-Time Transport Layer):
·优化UDP协议
·多通道设计避免head-of-line阻塞问题
·每个通道支持各种水平的服务质量(QoS)
·灵活的网络拓扑并且支持点对点或C/S架构。