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