UE4 内容示例网络同步Learn
一,
1.1 Actor的复制 Actor中的Replicates ,为true时,服务器会把该Actor同步,显示在客户端中。
1.2 Switch Has Authority判断是客户端还是服务器。
1.3 1.4变量复制:
一般的单机项目相当于服务器端,总控版本。
变量的replication选项中replicated会把该变量同步到客户端,第一个鬼魂没有选择,所以在客户端看到的Health值没更新,但是更新的函数也执行了,只是是在服务器端执行的没有同步到客户端,所以一般的单机项目相当于服务器端,当player的数量为1时,也相当于服务器端。当选择replication选项中的repnotify时,会生成一个OnRep_VariableName的函数,这个值改变时会在服务器和所有客户端调用该函数。
1.5 函数复制
Replicated Function Calls (复制的函数调用)可被设置为 Reliable (可靠)或 Unreliable (不可靠)。 可靠的调用一定会发生,不可靠的调用在通讯频繁的时候可能会丢失。 大多数处理装饰视觉的复制函数都不可靠,以防止网络饱和。
有3种主要类型的复制函数: Multicast (多路广播),Run On Server (服务器), 以及Run On owing Client (客户端),还有Not Replicated,Run On Server 在服务器执行的函数由客户端调用,然后在服务器执行。Run On owing Client
由服务器调用,在特定客户端执行。Multicast在服务器调用然后自动转发到所有客户端。
二,网络关联性
为能通过蓝图创建网络连接正确的游戏,重要的一点是同时了解 Network Relevancy (网络关联性)的概念。 简单来说,让客户端的机器总是接受每个Actor的网络数据是不合理的。 从网络角度来说,在大地图一端的玩家不必了解在地图另一端发生的每件事。 这样的话,我们可以说在给定时间内,只有一部分Actors与玩家"相关"。
Net Cull Distance Squard:网络同步的距离的平方,当客户端在该距离内时,该客户端与该同步的Actor有关,该Actor会同步到该客户端。
开箱子示例最佳做法:设置合适的同步范围,设置开箱子函数为Multicast,当客户端在范围内就能看到效果,设置一个变量为RepNotify,用来表示箱子的状态,OnRep函数中执行改变实际箱子的操作,当客户端在范围外时箱子打开了,这时候看不到效果,当客户端走进范围后,同步到该变量,随后自动调用OnRep函数,从而改变箱子的状态。
UE4 内容示例网络同步Learn的更多相关文章
- UE4网络同步属性笔记
GameMode只有服务端有,适合写游戏逻辑.PlayerController每个客户端拥有一个,并拥有主控权.GameState在服务端同步到全端. CLIENT生成的Actor对其有Authori ...
- ue4网络同步概念笔记
网络同步主要的概念是 复制. 不是以前的S,C逻辑分离. 是S复制到C通过 Switch Has Authority 将S与C的逻辑在程序内分离. 所属权:每个连接到S的C都有自己的 控制权.从 ...
- CDN(内容分发网络)技术原理
1. 前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加, 用户数量也在不断增加,受Web服务器的负荷和传输距离 ...
- CDN 内容分发网络技术
1.前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因 ...
- 深度剖析:CDN内容分发网络技术原理--转载
1.前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因 ...
- [转]CDN(内容分发网络)技术原理
1. 前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加, 用户数量也在不断增加,受Web服务器的负荷和传输距离 ...
- CDN内容分发网络
CDN的全称是Content Delivery Network,即内容分发网络,其设计思想是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快.更稳定. CDN系统是在网络 ...
- http 协议_DNS_域名解析 DNS 服务器_内容分发网络 CDN_缓存机制_HTML5 浏览器存储技术_cookie_sessionStorage_localStorage
TCP/IP 协议族 是按层次去划分的 应用层 决定了向用户提供应用服务时通信的活动. FTP 协议(文件传输协议)DNS(域名协议)HTTP(超文本传输协议) 传输层 提供处于网络连接中 ...
- Unity - Photon PUN 本地与网络同步的逻辑分离 (二)
上篇实现了事件系统的设计,这篇就来结合发送RPC消息 并且不用标记 [PunRPC] 先来看下上编的代码 GameEnvent.cs private static Dictionary<Comm ...
随机推荐
- 根据图片的路径(绝对路径/相对路径都可以),生成base64的
根据图片的路径(绝对路径/相对路径都可以),生成base64的 <!DOCTYPE html> <html> <head> <meta charset=&qu ...
- Git详解之一:Git起步
起步 本章介绍开始使用 Git 前的相关知识.我们会先了解一些版本控制工具的历史背景,然后试着让 Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作.读完本章,你就会明白为什么 Git ...
- Composer创建和发送HTTP Request
Fiddler Composer的功能就是用来创建HTTP Request 然后发送. 你可以自定义一个Request, 也可以手写一个Request, 你甚至可以在Web会话列表中拖拽一个已有的Re ...
- ant安装和验证
1.下载apache-ant-1.9.6 2.D:\software\apache-ant-1.9.6 3.配置环境变量 在系统变量path的最后面添加D:\software\apache-ant-1 ...
- Python之旅本地环境搭建
刚开始学习Python, 之后将会把Python相关的一些学习在此记录下来 . 毋庸置疑 ,我们需要先搭建本地开发环境, 为之后的Python开发做准备 ,这篇文章 ,将环境的搭建记录下来 第一步: ...
- Java—javac Hello.java找不到文件
刚开始编写Java代码时,会遇到很多困难,下面来说一个比较常见的错误,如下: 对于初学者,一般都是从Hello,World开始的学起的,废了好大劲儿,铜鼓了半天,终于要在DOS上运行javac Hel ...
- PyQt4 模拟记事本基本功能(保存,打开文件)
完成功能: 1. 默认[保存]按钮enable 2. 修改文本的内容后,[enable] 3. 解决字符乱码问题:utf-8 4. 提示:如果修改了文件没有保存的时候,又尝试打开新的文件,给出相关的提 ...
- RESTful 的总结
1.什么是RESTful? REST,即Representational State Transfer的缩写."(资源的)表现层状态转化". 2.什么是表现层? "资源& ...
- web服务器,应用程序服务器,http服务器的区别
WEB服务器.应用程序服务器.HTTP服务器有何区别?IIS.Apache.Tomcat.Weblogic.WebSphere都各属于哪种服务器? 这个概念很重要. Web服务器的基本功能就是提供We ...
- mysql foreign key(外键) 说明与实例
一,什么是foreign key,及其完整性 个人觉得,foreign key就是表与表之间的某种约定的关系,由于这种关系的存在,我们能够让表与表之间的数据,更加的完整,关连性更强.关于完整性,关连性 ...