写在翻译前的话:

     我使用过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概述的更多相关文章

  1. Unity Networking API文档翻译(二):The High Level API

    高级API (HLAPI) 是用来提供给Unity 创建多人在线游戏的组件.它是在底层传输层的基础上构建的, 对多人在线游戏提供了很多通用的功能.当传输层支持各种网络拓扑结构的时候,HLAPI是一个功 ...

  2. Unity 官网教程 -- Multiplayer Networking

    教程网址:https://unity3d.com/cn/learn/tutorials/topics/multiplayer-networking/introduction-simple-multip ...

  3. [转*译]Networking API Improvements in Windows 10

        在当今,以云优先,移动优先技术为宗旨的时代下,大多数Apps都至少有一些与web服务或网络上其他设备的集成.这些包括应用程序,它获取天气在线内容,新闻或体育比赛的分数,媒体或下载的播客,甚至对 ...

  4. Information Centric Networking Based Service Centric Networking

    A method implemented by a network device residing in a service domain, wherein the network device co ...

  5. 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 ...

  6. Unity中文API参考手册

    转载请标明原文地址:http://www.cnblogs.com/zhangyukof/p/6835582.html  Unity5中文脚本手册 网页版 Unity API 执行顺序: Unity5中 ...

  7. NoVNC API 文档翻译

    原文地址:https://github.com/novnc/noVNC/blob/master/docs/API.md 时间:2019-05-21     noVNC API The interfac ...

  8. [Unity]Unity常见API

    本文主要为了方便查阅 1. MonoBehaviour 生命周期 Awake 对象创建的时候调用,类似构造函数 Start 在Awake之后执行,区别在于,如果组件不可用(在Inspector没有勾选 ...

  9. Unity基本API总览

随机推荐

  1. 使用Sqoop,最终导入到hive中的数据和原数据库中数据不一致解决办法

            Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL , ...

  2. diff, cmp, patch

    diff 以行为单位比较两个文件之间的差异,经常用来查看同一个文件的新旧版本的差异,通常用在文本文件的比较,可以使用重定向'>'制作补丁文档,通常以.patch结尾 \(diff [-bBi] ...

  3. Linux学习之二——档案与目录的属性和权限

    一.属性和权限的基本概念 Linux一般将档案可存取的身份分为三个类别,分别是 owner/group/others,这三种身份各有 read/write/execute 等权限. 所有的系统上的账号 ...

  4. How to use python remove the '^M' when copy words from Windows to Linux

    今天帮同事用Python写了一个小工具,实现了在linux下批量文件名和去掉windows 文件到linux过程中产生^M的脚本,代码如下: !/opt/exptools/bin/python imp ...

  5. c++ Windows Socket实现最简单的C/S网络通信(TCP)

    1.服务器端代码: #include<iostream> #include<WinSock2.h> #pragma comment(lib, "ws2_32.lib& ...

  6. C++ new(1)

    如果找工作的同学看一些面试的书,我相信都会遇到这样的题:sizeof 不是函数,然后举出一堆的理由来证明 sizeof 不是函数.在这里,和 sizeof 类似,new 和 delete 也不是函数, ...

  7. 【温故而知新-Javascript】图片效果(图像震动效果、闪烁效果、自动切换图像)

    1.当鼠标指针经过图像时图像震动效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...

  8. 广度优先搜索 cdoevs 1226 倒水问题

    cdoevs 1226 倒水问题  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold   题目描述 Description 有两个无刻度标志的水壶,分别可装 x 升 ...

  9. 如何在ZBrush中添加毛发

    ZBrush不仅能雕刻出完美的头发造型,还能够应用真实的头发和毛发.在制作毛发之前只需要简单定义遮罩区域,包括长短.疏密.当然,最重要的是,你可以使用Polypaint生成各种有色纤维,这将非常方便. ...

  10. SPOJ AMR12A The Black Riders --二分+二分图最大匹配

    题意:有n个人,m个洞.每个洞能容纳一个人,每个人到每个洞需要花费一些时间.每个人到达一个洞后可以花C的时间来挖一个洞,并且最多挖一个洞,这样又能多容纳一人.求能使至少K个人进洞的最短时间. 解法:看 ...