孙广东   2015.7.12

Server and Host

在Unity 的 网络系统,游戏有 一个server和多个client。

当没有专用的server时,client之中的一个扮演server的角色 — — 我们称之为此client“host”

host (主机)是一个server和 client在同一进程中。

主机 将使用一种特殊的client被称为 LocalClient。而其它client是 RemoteClients。LocalClient 与(本地) server通信 通过直接的函数调用和消息队列,由于它是同一进程中。它实际上与server共享一个 场景。RemoteClients 通过定期的网络连接与server进行通信。

网络系统的目标是 LocalClients 和 RemoteClients 的代码是同样的,所以开发人员仅仅需大部分时间想一种类型的client的。

Instantiate and Spawn

在Unity中,GameObject.Instantiate 创建新的Unity游戏对象。但与联网系统在一起, 对象必须也会“spawned” 要在网络上激活。这仅仅能在server上,而且导致要在连接的client上创建对象。一旦对象被Spawning System生成,分布式的对象生命周期管理和状态同步。

Players, Local Players and Authority

在网络系统中。玩家对象都是特殊的。

还有伴玩游戏,每一个人的player 对象和 命令 都将路由 到该对象。一个人不能对还有一个人的player对象调用命令 - 仅仅有他们自己。所以是的“my” player 对象的概念。

当加入一个player 和联系 把他们连接时。这个player对象就成为该玩家client上的“local player” 对象。

那里是被设置为 true,而且回调在client上的对象调用的 OnStartLocalPlayer() 属性 isLocalPlayer。下图显示两个client和他们 local players.。

仅仅是 “yours” 的player对象  将已设置了 isLocalPlayer 标志。这能够用于筛选  输入的处理,能够处理相机附件。或做不论什么其它client仅仅应做为您的player的身边事。

除了 isLocalPlayer,player对象能够有 “local authority”.  这意味着其拥有者的client上的player对象是负责对象 — — 它有授权。

最经常使用的是 控制运动,但也被使用其它的东西。NetworkTransform 组件明确这一点,并将从client发送移动,假设设置该选项。NetworkIdentity 有一个复选框用于设置 LocalPlayerAuthority。

对于非玩家对象如敌人,还有没有相关联的client。所以权威驻留在server上。

NetworkBehaviour 上的属性 "isAuthority" 能够用来告诉是否 对象具有授权。

所以非玩家对象在server上,具有权威和player对象与 localPlayerAuthority 有授权在其拥有者的client上。

Unity5.1 新的网络引擎UNET(八) UNET 系统概括的更多相关文章

  1. Unity5.1 新的网络引擎UNET(二) UNET 官方推荐Demo案例

    http://blog.csdn.net/u010019717/article/details/46873153 视频 http://www.iqiyi.com/playlist391685502.h ...

  2. Unity5.1 新的网络引擎UNET(九) UNET 官方推荐视频教程

    孙广东  2015.7.14 在新的网络引擎出现之前,Unity提供的是 内置 Raknet网络引擎, 这一次Unity想更新UGUI一样,花了大的手笔更新了, UNET. 原来的旧的网络组件 被提示 ...

  3. Unity5.1 新的网络引擎UNET(十五) Networking 引用--下

     孙广东 2015.7.21 本节提供了与网络系统一起使用的组件的具体信息. 10.Network Proximity Checker Suggest a change Success! Than ...

  4. Unity5.1 新的网络引擎UNET(十五) Networking 引用--中

    孙广东 2015.7.21 本节提供了与网络系统一起使用的组件的具体信息. 3.NetworkClient NetworkClient 是一个 HLAPI 类,管理网络连接到服务器 - - 相应着 U ...

  5. Unity5.1 新的网络引擎UNET(十五) Networking 引用--上

    http://blog.csdn.net/u010019717/article/details/46993697 孙广东  2015.7.21 本节提供了与网络系统一起使用的组件的详细信息. 1.Ne ...

  6. Unity5.1 新的网络引擎UNET(四) UNET Remote Actions

    孙广东   2015.7.12 网络系统 具有网络中执行操作actions 的方法.这些类型的actions 有时是调用远程过程调用(Remote Procedure Calls). 在网络系统中有两 ...

  7. Unity5.1 新的网络引擎UNET(七) UNET 单人游戏转换为多人

     单人游戏转换为多人   孙广东   2015.7.12 本文档描写叙述将单人游戏转换为使用新的网络系统的多人游戏的步骤.这里描写叙述的过程是简化,对于一个真正的游戏事实上须要更高级别版本号的实际 ...

  8. 微软引入了两种新的网络过滤系统,WFP和NDISfilter

    Windows 8是微软公司推出的最新的客户端OS,内部名称Windows NT 80.相对于Windows NT 5.x,其网络结构变化非常大,原有的TDI,NDIS系统挂接方法不再适用.在Wind ...

  9. Unity5 的新旧延迟渲染Deferred Lighting Rendering Path

    unity5 的render path ,比4的区别就是使用的新的deferred rendering,之前的4的deferred rendering(其实是light prepass)也被保留了下来 ...

随机推荐

  1. MongoDB中导入数据命令的使用(mongoimport)

    MongoDB中导入数据命令的使用(mongoimport) 制作人:全心全意 语法: mongoimport <options> <file> 介绍: 该命令可以将CSV,T ...

  2. python 学习总结1

    计算机与程序设计 一.计算机的概念 1.计算机是根据指令操作数据的设备. 2.计算机主要包括两个功能性一个是功能性另一个是计算性 功能性是对数据的操作,表现为数据计算,输入输出处理和结果存储 可编程性 ...

  3. 我的java web之路(安装)

    所有的软件下载完,陪完jdk之后,迎来了一系列的安装工作... 1.安装SQL Server 2005 首先,打开ISS功能,控制面板->程序->打开或关闭windows功能 注意红框内的 ...

  4. 【HIHOCODER 1526】 序列的值(二进制DP)

    时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个长度为 n 的序列 a[1..n],定义函数 f(b[1..m]) 的值为在 [0,m-1] 内满足如下条件的 i ...

  5. python和搜索

    # -*- coding: UTF-8 -*- import re # 搜索逻辑 def querylogic(list): query = {} if len(list) > 1 or len ...

  6. 【ITOO 4】WCF中,分布式事务处理

    导读:事务可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源.通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠.在项目中,就有 ...

  7. [BZOJ2120][BZOJ2453]数颜色

    [BZOJ2120]数颜色 试题描述 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨墨会像你发布如下指令: 1. Q L R代表询问你从第L支画笔到第R支画笔中 ...

  8. hdu 2112

    #include<stdio.h> #include<string.h> #define N 200 #define inf 999999999999 __int64 map[ ...

  9. hdu3516 Tree Construction (四边形不等式)

    题意:给定一些点(xi,yi)(xj,yj)满足:i<j,xi<xj,yi>yj.用下面的连起来,使得所有边的长度最小? 题解:直接给出吧 f[i][j]=min(f[i][k]+f ...

  10. ztree2.6给菜单增加title提示信息[转]

    自定义数据格式的情况下(isSimpleData: true) 在setting中自定义一个属性如 remark:"remark", callback中调用函数 nodeCreat ...