Unity5.1 新的网络引擎UNET(八) UNET 系统概括
孙广东 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 系统概括的更多相关文章
- Unity5.1 新的网络引擎UNET(二) UNET 官方推荐Demo案例
http://blog.csdn.net/u010019717/article/details/46873153 视频 http://www.iqiyi.com/playlist391685502.h ...
- Unity5.1 新的网络引擎UNET(九) UNET 官方推荐视频教程
孙广东 2015.7.14 在新的网络引擎出现之前,Unity提供的是 内置 Raknet网络引擎, 这一次Unity想更新UGUI一样,花了大的手笔更新了, UNET. 原来的旧的网络组件 被提示 ...
- Unity5.1 新的网络引擎UNET(十五) Networking 引用--下
孙广东 2015.7.21 本节提供了与网络系统一起使用的组件的具体信息. 10.Network Proximity Checker Suggest a change Success! Than ...
- Unity5.1 新的网络引擎UNET(十五) Networking 引用--中
孙广东 2015.7.21 本节提供了与网络系统一起使用的组件的具体信息. 3.NetworkClient NetworkClient 是一个 HLAPI 类,管理网络连接到服务器 - - 相应着 U ...
- Unity5.1 新的网络引擎UNET(十五) Networking 引用--上
http://blog.csdn.net/u010019717/article/details/46993697 孙广东 2015.7.21 本节提供了与网络系统一起使用的组件的详细信息. 1.Ne ...
- Unity5.1 新的网络引擎UNET(四) UNET Remote Actions
孙广东 2015.7.12 网络系统 具有网络中执行操作actions 的方法.这些类型的actions 有时是调用远程过程调用(Remote Procedure Calls). 在网络系统中有两 ...
- Unity5.1 新的网络引擎UNET(七) UNET 单人游戏转换为多人
单人游戏转换为多人 孙广东 2015.7.12 本文档描写叙述将单人游戏转换为使用新的网络系统的多人游戏的步骤.这里描写叙述的过程是简化,对于一个真正的游戏事实上须要更高级别版本号的实际 ...
- 微软引入了两种新的网络过滤系统,WFP和NDISfilter
Windows 8是微软公司推出的最新的客户端OS,内部名称Windows NT 80.相对于Windows NT 5.x,其网络结构变化非常大,原有的TDI,NDIS系统挂接方法不再适用.在Wind ...
- Unity5 的新旧延迟渲染Deferred Lighting Rendering Path
unity5 的render path ,比4的区别就是使用的新的deferred rendering,之前的4的deferred rendering(其实是light prepass)也被保留了下来 ...
随机推荐
- Dubbo 源代码分析八:再说 Provider 线程池被 EXHAUSTED
转自:http://manzhizhen.iteye.com/blog/2391177 在上回<Dubbo源代码实现六>中我们已经了解到,对于Dubbo集群中的Provider角色,有IO ...
- Centos7中 mysql5.7 用户 创建 、授权、远程登录
1.添加用户跟以往版本不同,MySQL5.7 mysql.user表没有password字段,这个字段改成了 authentication_string:这里我们使用命令进行创建用户: CREATE ...
- docker 阿里云镜像加速器
传送门:阿里云镜像地址 Ubuntu/CentOS 安装/升级你的Docker客户端 推荐安装1..0以上版本的Docker客户端,参考文档 docker-ce 如何配置镜像加速器 针对Docker客 ...
- Linux test命令
test命令 长格式的例子: test "$A" == "$B" && echo "Strings are equal" t ...
- Java:post请求
文章来源:https://www.cnblogs.com/hello-tl/p/9140870.html 0.post请求返回json import java.io.BufferedInputStre ...
- python 闭包&装饰器(一)
一.闭包 1.举例 def outer(): x = 10 def inner(): # 内部函数 print(x) # 外部函数的一个变量 return inner # 调用inner()函数的方法 ...
- Android开发——使用ADB Shell命令实现模拟点击(支付宝自动转账实现)
首先声明,本人反对一切利用技术的违法行为 本文的实现代码已经销毁,本文以介绍流程为主 1.这里所说的模拟点击不是在自己的APP里点击,点自己APP上的控件没什么好说的 不仅是支付宝转账,其他的获取别人 ...
- (4)主成分分析Principal Component Analysis——PCA
主成分分析Principal Component Analysis 降维除了便于计算,另一个作用就是便于可视化. 主成分分析-->降维--> 方差:描述样本整体分布的疏密,方差越大-> ...
- PTA 04-树6 Complete Binary Search Tree (30分)
题目地址 https://pta.patest.cn/pta/test/16/exam/4/question/669 5-7 Complete Binary Search Tree (30分) A ...
- [luoguP1352] 没有上司的舞会(DP)
传送门 树上的dp,从底向上dp就行. 设dp[u][0]表示不选节点 u 的最大值,dp[u][1]表示选节点 u 的最大值. 则状态转移方程为: dp[u][0] = ∑max(dp[v][1], ...