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/

 

UNET学习笔记1 - 总览的更多相关文章

  1. UNET学习笔记3 - 网络系统的概念

    服务器和 HOST 在Unity游戏里,一个游戏一般有一个服务器和多个客户端组成,但也可以没有服务器,用某一个客户端来同时做服务器用,这种就叫Host 在Host上的客户端叫Local Client, ...

  2. stl源码剖析 详细学习笔记 算法总览

    //****************************基本算法***************************** /* stl算法总览,不在stl标准规格的sgi专属算法,都以 *加以标 ...

  3. UNET学习笔记2 - 高级API(HLAPI)

    高级API是在实时传输低级API基础上建立起来的,为多人游戏提供大量通用的组件.通过HLAPI开发者仅需少量的工作就可以搭建多人联网游戏. HLAPI 使用命名空间 UnityEngine.Netwo ...

  4. R-CNN学习笔记

    R-CNN学习笔记 step1:总览 步骤: 输入图片 先挑选大约2000个感兴趣区域(ROI)使用select search方法:[在输入的图像中寻找blobby regions(可能相同纹理,颜色 ...

  5. MySQL学习笔记-MySQL体系结构总览

    MySQL体系结构总览 不管是用哪种数据库,了解数据库的体系结构都是极为重要的.MySQL体系结构主要由数据库和数据库实例构成. 数据库:物理操作系统文件或者其它文件的集合,在mysql中,数据库文件 ...

  6. Python学习笔记进阶篇——总览

    Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(Socket编程进阶&多线程.多进程) Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(异常处理) Pyth ...

  7. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  8. Knockout.js快速学习笔记

    原创纯手写快速学习笔记(对官方文档的二手理解),更推荐有时间的话读官方文档 框架简介(Knockout版本:3.4.1 ) Knockout(以下简称KO)是一个MVVM(Model-View-Vie ...

  9. MySQL学习笔记-锁相关话题

    在事务相关话题中,已经提到事务隔离性依靠锁机制实现的.在本篇中围绕着InnoDB与MyISAM锁机制的不同展开,进而描述锁的实现方式,多种锁的概念,以及死锁产生的原因.   Mysql常用存储引擎的锁 ...

随机推荐

  1. 深入理解display属性

    display 属性在网页布局中很常见,但是之前一直不了解他的各个属性的区别,只是简单的使用block.none属性,对于其他属性都不清楚,今天详细的学习和实践display属性的各个方面 定义 di ...

  2. 内省、JavaBean、PropertyDescriptor类、Introspector类、BeanUtils工具包、注解、Rentention、Target、注解的基本属性和高级属性

      本文转载自:http://blog.sina.com.cn/s/blog_5d65a16901011kom.html 关键字:内省.JavaBean.PropertyDescriptor类.Int ...

  3. Linux_arm驱动之按键模拟脉冲实现定时器的精确计时

    /***************************************************************** 内核驱动部分button_ker.c ************** ...

  4. 即时通讯 TCP UDP

    TCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! ...

  5. android应用中增加权限判断

    android6.0系统允许用户管理应用权限,可以关闭/打开权限. 所以需要在APP中增加权限判断,以免用户关闭相应权限后,APP运行异常. 以MMS为例,在系统设置——应用——MMS——权限——&g ...

  6. c# 调用 matlab

    如果本机没有安装Matlab 需要安装一个叫 MCRInstaller 的东西  运行环境 如果安装后 需要把D:\MATLAB\R2013a\bin\win64; 写入环境变量 (路径根据实际情况改 ...

  7. android nio

    Android开发进阶之NIO非阻塞包(二) 有关Android NIO我们主要分为三大类,ByteBuffer.FileChannel和SocketChannel.由于篇幅原因今天Android12 ...

  8. 一般多项式曲线的最小二乘回归(Linear Regression)

    对于一般多项式: K为多项式最高项次,a为不确定的常数项,共k+1个; 有离散数据集对应,其方差: β为,方差函数S对β自变量第j个参数的梯度(偏导数): 当以上梯度为零时,S函数值最小,即: 中的每 ...

  9. c++ chap1 to chap 3

    #ifndef MAIN_H_INCLUDED#define MAIN_H_INCLUDED struct Course{ int id; std::string name;}; const int ...

  10. OD使用教程4

    去除nag窗口: 方法一将je改成jmp跳过messageboxA 方法二全部填充成Nop,选中右键二进制Nop填充 第三种方法push的值改成1使句柄不存在 获得模块句柄: 第四种修改入口地址 点击 ...