UNET为两类人设计:

(1)使用Unity开发简单多人在线游戏。这类用户可以从NetworkManager或者the High Level API开始;

(2)开发复杂多人在线游戏或者开发网络服务。这类用户可以从NetworkTransport API开始。

高级API

High Level API简称为HLAPI,不用去关心底层(low level)的实现就可以去开发简单的多人在线游戏,基本可以涵盖大部分用户的需求。HLAPI包含:

  • 可以通过Network Manager控制游戏用户的网络状态;
  • 可以开发客户端、服务器都在客户端的游戏;
  • 使用通用序列化去序列化数据;
  • 发送或者接收网络消息;
  • 从客户端向服务器发送远程调用;
  • 从服务器向客户端发送远程调用;
  • 从服务器向客户端发送事件消息;

引擎和编辑器集成

Unity已经把UNET集成进了引擎和编辑器中,你可以:

  • 使用NetworkIdentity来标识网络物体;
  • 继承 NetworkBehaviour 来编写网络脚本;
  • 有一个可以配置网络位置同步组件;
  • 提供了可以自动同步的脚本变量;
  • 以及其它一些网络组件

网络服务

Unity还提供了一些网络服务,来支持多人游戏的开发和发布。包含:

  • Matchmaking 服务;
  • 创建组队,广告组队;
  • 加入组队,列出组队列表;
  • 中续服务;
  • 通过互联网,并不用专用服务器玩游戏;
  • 为组队进行消息路由;

NetworkTransport  实时传输层

实时传输层提供:

  • 优化的基于UDP的协议;
  • 多通道设计,有效避免head-of-line阻塞;
  • 每个通道提供了多个级别的QOS;
  • 柔性的拓扑结构,能很好支持P2P或者CS框架;

项目示例

官方提供了一些例子,可以去看这些功能怎么使用在一起;

  • 多人2D 坦克;
  • 带组队的多人侵略游戏;
  • 带组队的多人太空射击游戏;
  • 迷你多人项目;

例子网站:

http://forum.unity3d.com/threads/unet-sample-projects.331978/

 

最新文章

  1. Java 动态生成复杂 Word
  2. js实现『加载更多』功能实例
  3. JavaWeb学习笔记——jsp:setproperty和getproperty
  4. 怎么录制Android或IOS动画教程
  5. 【Algorithm】堆排,C++实现
  6. xampp下安装yii框架下遇到的问题
  7. 记录一个php强制下载文件函数
  8. HTTP协议Keep-Alive模式详解
  9. C语言结构体1.1
  10. day 34
  11. Java9+版本中,Interface的内容
  12. 【2017-2-19】C#数据类型,数据转换,变量,常量,转义符
  13. js转义和反转义html htmlencode htmldecode
  14. SpringBoot学习之Helloworld
  15. iOS开发-多线程NSOperation和NSOperationQueue
  16. Poi读取Excle报错 java.util.zip.ZipException: invalid stored block lengths
  17. 【概率dp】【数学期望】Gym - 101190F - Foreign Postcards
  18. JS的封装(JS插件的封装)
  19. Python实现栈、队列
  20. 前端高频面试题 CSS篇

热门文章

  1. Convert.ToInt32,int.Parse,int.TryParse,(int)的区别
  2. Java 中extends与implements使用方法
  3. android6.0锁屏界面接收新通知处理流程
  4. 第四章 使用Docker镜像和仓库
  5. myeclipse中UTF-8设置
  6. OD使用教程9
  7. 最小生成树算法——prim算法
  8. RestController 和Controller的区别
  9. Struts2注解使用说明
  10. vs调试断点进不去的解决办法