Unity网络概述
Unity提供的网络特性主要针对如下两种人群
*使用Unity开发多人网络游戏。这些人应该从NetworkManager或者新版网络API开始学习。
*使用Unity搭建网络架构或者高级的网络游戏。这些人应该从NetworkTransportAPI开始学习。
新版的网络API
新版的网络API我们称之为HLAPI,HLAPI涵盖了网络游戏中的大部分命令,用户无需操心实现细节。,HLAPI包含:
- Network Manager可以实现控制网络状态
- 开启“客户端托管”游戏,实现主机也是一个客户端
- 提供专门的序列化工具序列化数据
- 发送和接受网络数据
- 从客户端发送网络命名到服务器
- 实现服务远程回调客户端(RPC)
- 从服务器发送网络事件到客户端
引擎和编辑器集成
Unity的网络技术被集成到引擎(engine)和编辑器(editor)中,允许你使用组件和视图去构建你的多人游戏,它提供了:
- NetworkIdentity 组件用于网络对象
- NetworkBehaviour 用于网络脚本
- 可配置自动同步的对象转换。
- 自动同步脚本变量。
- 支持网络统一场景中的对象。
- 网络组件
互联网服务
Unity提供了互联网服务来支持你的游戏的整个生产和发布,其中包括:
- 媒介服务器
- 创建比赛和匹配比赛
- 列出可用和可以加入的比赛
- 中继服务器
- 游戏在互联网,没有专用的服务器(客户端当服务器)
- 为游戏参与者路由消息
NetworkTransport实时传输层
我们提供包括实时传输层:
- 优化基于UDP协议。
- 多通道设计避免head-of-line阻塞问题
- 支持各种水平的服务质量(QoS)每通道。
- 灵活的网络拓扑,支持点对点或客户机-服务器架构。
示例项目
通过Unity为我们提供的如上特性,我们将其结合可以制造出:
- 多人在线坦克项目
- 多人在线入侵者游戏
- 多人在线射击类游戏
- 小型多人在线项目
网友评论