Unity Networking API文档翻译(一):Networking概述
写在翻译前的话:
我使用过Photon,研究过Ulink这些Unity提供的多人在线游戏服务器组件,这些商业组件虽然很好很强大。但是对于一个独立开发者来说,4000多软妹币还是点多。总想找一个免费的。对于Unity5.2版本后提供的Unity Networking组件(简称UNet),国外已经有很多开发者在使用了,虽然稳定性还有待考验,但是unity官方是会不停更新的,主要的是免费的啊!官网没有中文翻译,所以自己准备把这块翻译下,有不好的地方敬请指出,共同完善这个中文文档。翻译的过程就当是学习的过程,其他开发者如果翻译过了,就当互相学习吧。
Networking概述
使用网络功能的用户按需求不同可分为下面2种情况:
- 用户使用Unity开发一个多人在线的游戏,那么应该从学习NetworkManager或者High Level API开始。
- 用户需要构建底层网络框架或者编写高级多人在线游戏,那么应该从NetworkTransport API开始学起。
High level scripting API
Unity网络模块有一个“高级”脚本API(我们通常叫HLAPI)。使用HLAPI可以不关心具体网络底层实施细节。它能提供多人在线游戏所需要的大多数常见操作命令。HLAPI提供以下功能:
- 使用“Network Manager”组件来管理游戏的网络状态
- 能制作“局域网联机”类游戏,这种游戏客户端可以作为一个游戏主机,其他客户端加入这个主机
- 提供通用的序列化方法对数据进行序列化
- 接收和发送网络消息
- 从客户端向服务器发送网络命令
- 服务器可以使用远程过程调用(RPCS)客户端
- 服务器可以发送网络事件到客户端
Unity引擎和编辑器中的网络模块整合
Unity的网络模块已经集成到游戏引擎和Unity编辑器中了,开发者可以在可视状态下使用组件开发多人在线游戏。它提供了:
- 一个NetworkIdentity组件提供给需要网络通信的实体
- 一个NetworkBehaviour类提供给网络通信脚本
- 游戏内物体坐标和方位的自动同步
- 脚本变量的自动同步
- 在Unity场景中提供可以拖放的网络模块
- 各种网络组件
互联网服务
Unity提供了“互联网服务”用于支持开发者的整个产品开发和发布过程,包括:
- 游戏配对服务
- 游戏创建匹配和广告匹配
- 提供配对列表和加入对战功能
- 主机接替服务
- 不需要专门的服务器而能在网络上联机
- 给匹配的玩家们发送群发消息
实时的网络传输层
Unity提供了一个实时的网络传输层,包括:
- 优化后的UDP协议层
- 多通道设计用来避免数据堵塞问题
- 每一个通道提供不同等级的多样化服务质量(QoS)
- 灵活的网络拓扑结构,能提供点对点(P2P)以及客户端-服务器(CS)架构
项目案例
开发者可以仔细研究Unity官网提供的多人在线游戏项目,里面有多种游戏案例:
Unity Networking API文档翻译(一):Networking概述的更多相关文章
- Unity Networking API文档翻译(二):The High Level API
高级API (HLAPI) 是用来提供给Unity 创建多人在线游戏的组件.它是在底层传输层的基础上构建的, 对多人在线游戏提供了很多通用的功能.当传输层支持各种网络拓扑结构的时候,HLAPI是一个功 ...
- Unity 官网教程 -- Multiplayer Networking
教程网址:https://unity3d.com/cn/learn/tutorials/topics/multiplayer-networking/introduction-simple-multip ...
- [转*译]Networking API Improvements in Windows 10
在当今,以云优先,移动优先技术为宗旨的时代下,大多数Apps都至少有一些与web服务或网络上其他设备的集成.这些包括应用程序,它获取天气在线内容,新闻或体育比赛的分数,媒体或下载的播客,甚至对 ...
- Information Centric Networking Based Service Centric Networking
A method implemented by a network device residing in a service domain, wherein the network device co ...
- Method of Seamless Integration and Independent Evolution of Information-Centric Networking via Software Defined Networking
A method of transferring data between a software defined network (SDN) and an information-centric ne ...
- Unity中文API参考手册
转载请标明原文地址:http://www.cnblogs.com/zhangyukof/p/6835582.html Unity5中文脚本手册 网页版 Unity API 执行顺序: Unity5中 ...
- NoVNC API 文档翻译
原文地址:https://github.com/novnc/noVNC/blob/master/docs/API.md 时间:2019-05-21 noVNC API The interfac ...
- [Unity]Unity常见API
本文主要为了方便查阅 1. MonoBehaviour 生命周期 Awake 对象创建的时候调用,类似构造函数 Start 在Awake之后执行,区别在于,如果组件不可用(在Inspector没有勾选 ...
- Unity基本API总览
随机推荐
- 烂泥:centos安装及配置DHCP服务器
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 有关DHCP服务器的配置一直打算学习,这几天终于抽出时间来专门学习这个知识点. DHCP:动态主机配置协议,在此就不多做介绍.不清楚的童鞋,可以去百度下 ...
- .NET三层架构例子超链接可以点击显示内容页面
在研究了一个星期的三层架构写出的一个小功能,使用三层架构并实现点击新闻标题可以跳转到自己写的新闻页面. 首先是一个DBHelper,这个不是我自己写的,是朋友给我的 using System; usi ...
- FZU 1608 Huge Mission(线段树)
Problem 1608 Huge Mission Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description Oaiei ...
- nginx实现动态分离,解决css和js等图片加载问题
改帖专门为使用nginx,通过nginx把请求转发到web服务器再返回客户端的时候,解决css和js和图片加载不出来的问题. 如果没安装nginx,请访问一下地址进行安装 http://www.cnb ...
- 两台SQL Server数据同步解决方案
复制的概念 复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式.使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可 ...
- LeetCode题目分类
利用堆栈:http://oj.leetcode.com/problems/evaluate-reverse-polish-notation/http://oj.leetcode.com/problem ...
- DAC使用基本准则
DAC Nyquist Zones, Zero Order Hold, and Images why do the Fout images exist in every Nyquist zone? W ...
- Dictionary(HashMap)的实现
什么是哈希表? 哈希表(Hash table,也叫散列表),是根据key而直接进行访问的数据结构.也就是说,它通过把key映射到表中一个位置来访问记录,以加快查找的速度.这个映射函数叫做散列函数,存放 ...
- Golang tips ----- 函数
1.在函数调用时,Golang没有默认参数值 2.一个函数声明如果没有函数体,表面该函数不是由Golang实现的,这样的声明定义了函数标识符 3.拥有函数名的函数只能在包级语法块中被声明 4.函数值( ...
- 边工作边刷题:70天一遍leetcode: day 83
Find the Duplicate Number 要点:通过Pigeonhole principle对值空间做binary search,具体来说, low,mid,high都是值空间,所以范围是[ ...