UNET学习笔记1 - 总览
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 - 总览的更多相关文章
- UNET学习笔记3 - 网络系统的概念
服务器和 HOST 在Unity游戏里,一个游戏一般有一个服务器和多个客户端组成,但也可以没有服务器,用某一个客户端来同时做服务器用,这种就叫Host 在Host上的客户端叫Local Client, ...
- stl源码剖析 详细学习笔记 算法总览
//****************************基本算法***************************** /* stl算法总览,不在stl标准规格的sgi专属算法,都以 *加以标 ...
- UNET学习笔记2 - 高级API(HLAPI)
高级API是在实时传输低级API基础上建立起来的,为多人游戏提供大量通用的组件.通过HLAPI开发者仅需少量的工作就可以搭建多人联网游戏. HLAPI 使用命名空间 UnityEngine.Netwo ...
- R-CNN学习笔记
R-CNN学习笔记 step1:总览 步骤: 输入图片 先挑选大约2000个感兴趣区域(ROI)使用select search方法:[在输入的图像中寻找blobby regions(可能相同纹理,颜色 ...
- MySQL学习笔记-MySQL体系结构总览
MySQL体系结构总览 不管是用哪种数据库,了解数据库的体系结构都是极为重要的.MySQL体系结构主要由数据库和数据库实例构成. 数据库:物理操作系统文件或者其它文件的集合,在mysql中,数据库文件 ...
- Python学习笔记进阶篇——总览
Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(Socket编程进阶&多线程.多进程) Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(异常处理) Pyth ...
- Python学习笔记基础篇——总览
Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...
- Knockout.js快速学习笔记
原创纯手写快速学习笔记(对官方文档的二手理解),更推荐有时间的话读官方文档 框架简介(Knockout版本:3.4.1 ) Knockout(以下简称KO)是一个MVVM(Model-View-Vie ...
- MySQL学习笔记-锁相关话题
在事务相关话题中,已经提到事务隔离性依靠锁机制实现的.在本篇中围绕着InnoDB与MyISAM锁机制的不同展开,进而描述锁的实现方式,多种锁的概念,以及死锁产生的原因. Mysql常用存储引擎的锁 ...
随机推荐
- JavaWeb 学习005-4个页面,5条sql语句(添加、查看、修改、删除)
今天完成了的事: = 1.班级模块,list页面的添加班级信息操作,中文乱码问题 尚待解决 这俩天做得工作是: 首先搭建好main页面:是由top.left.right三个部分构成的,拼接到一起. 流 ...
- 非阻塞同步算法实战(二)-BoundlessCyclicBarrier
本人是本文的作者,首发于ifeve(非阻塞同步算法实战(二)-BoundlessCyclicBarrier) 前言 相比上一 篇而言,本文不需要太多的准备知识,但技巧性更强一些.因为分析.设计的过程比 ...
- ue4 Worldmachine 结合使用
最近项目需求制作一个场景的远景部分.正好可以尝试使用一下UE4的 Landscape.不过直接在 Editor 里刷地形工作量太大,刷出的地形也不真实,最关键的是 Landscape 的工具并不是那么 ...
- spring mvc(2):请求地址映射(@RequestMapping)
@RequestMapping 参数说明 value定义处理方法的请求的 URL 地址.method定义处理方法的 http method 类型,如 GET.POST 等.params定义请求的 UR ...
- opencv 处女作
显示一幅图:主要是运用功能:imread namedWindow imshowimread:从字面意思我们就可以看懂,用来读取图片的:namedWindow:显然,我们也可以看到这是用来命名窗口名称的 ...
- 多个插件依赖不同版本jQuery问题解决案例
<script src="../../../js/jquery-1.3.2.min.js" type="text/javascript">< ...
- C#捕获c++异常
摘自:http://bbs.csdn.net/topics/390665130 .net 40 中,c# 默认情况下只处理SEH的异常.不处理CSE的异常.若你要捕获这类的异常. [HandlePro ...
- C#方法中三个重要的参数:out、ref、params
备注:适用于初学者,自学于传智播客. 1.out参数. 概念:如果在一个方法中,返回多个相同类型值的时候,可以考虑返回一数组.但是返回多个不同类型值的时候,返回数组显然不能解决问题,这时就引入out参 ...
- HTML5之语义标签
在HTML5标准中,新加了几个用于增添页面语义的标签,这些标签有:article.section.nav和aside等.与别的大多数标签不 同,浏览器在解释渲染这些标签的时候仅仅把它作为普通的div块 ...
- pd name与comment互换,或者code互换,总之互换
1 PowerDesigner中批量根据对象的name生成comment的脚本 执行方法:Open PDM -- Tools -- Execute Commands -- Run Script Opt ...