一,

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的更多相关文章

  1. UE4网络同步属性笔记

    GameMode只有服务端有,适合写游戏逻辑.PlayerController每个客户端拥有一个,并拥有主控权.GameState在服务端同步到全端. CLIENT生成的Actor对其有Authori ...

  2. ue4网络同步概念笔记

    网络同步主要的概念是 复制.  不是以前的S,C逻辑分离.  是S复制到C通过 Switch Has Authority  将S与C的逻辑在程序内分离. 所属权:每个连接到S的C都有自己的 控制权.从 ...

  3. CDN(内容分发网络)技术原理

    1. 前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加, 用户数量也在不断增加,受Web服务器的负荷和传输距离 ...

  4. CDN 内容分发网络技术

    1.前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因 ...

  5. 深度剖析:CDN内容分发网络技术原理--转载

    1.前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因 ...

  6. [转]CDN(内容分发网络)技术原理

    1. 前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加, 用户数量也在不断增加,受Web服务器的负荷和传输距离 ...

  7. CDN内容分发网络

    CDN的全称是Content Delivery Network,即内容分发网络,其设计思想是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快.更稳定. CDN系统是在网络 ...

  8. http 协议_DNS_域名解析 DNS 服务器_内容分发网络 CDN_缓存机制_HTML5 浏览器存储技术_cookie_sessionStorage_localStorage

    TCP/IP 协议族 是按层次去划分的 应用层    决定了向用户提供应用服务时通信的活动. FTP 协议(文件传输协议)DNS(域名协议)HTTP(超文本传输协议) 传输层    提供处于网络连接中 ...

  9. Unity - Photon PUN 本地与网络同步的逻辑分离 (二)

    上篇实现了事件系统的设计,这篇就来结合发送RPC消息 并且不用标记 [PunRPC] 先来看下上编的代码 GameEnvent.cs private static Dictionary<Comm ...

随机推荐

  1. HTML5 矩阵变换

    transforms 使用图形上下文对象的transforms方法修改变换矩阵,该方法的定义如下: context.transform(m11,m12,m21,m22,dx,dy); 其中m11,m1 ...

  2. HtmlTestRunner无法生成HTML报告问题

    环境: Python3.6 + Selenium3.3.0 + HtmlTestRunner1.1.0 ON Windows10 IDE: PyCharm HtmlTestRunner地址: http ...

  3. windows 命令行打开浏览器

    在命令行打开百度 start chrome www.baidu.com

  4. oracle自动备份_expdp_Linux

    [oracle@hbsjxtdb1 ~]$ crontab -e 0 4 * * * /backup/script/backupexpdp.sh [oracle@hbsjxtdb1 ~]$ cront ...

  5. C# 全选中数字文本框内容

    /// <summary>        /// 全选中数字文本框内容        /// </summary>        /// <param name=&quo ...

  6. c#中不同类中变量的引用方法

    (1)如果两个类没有继承关系,存取另一个类中变量的方法如下: public class A { // 注意: // Count是静态变量(static),称为类变量.类变量无需实例化即可使用 publ ...

  7. 跟我一起读postgresql源码(八)——Executor(查询执行模块之——可优化语句的执行)

    2.可优化语句的执行 可优化语句的共同特点是它们被查询编译器处理后都会生成査询计划树,这一类语句由执行器(Executor)处理.该模块对外提供了三个接口: ExecutorStart.Executo ...

  8. TS Eslint规则说明

    ,//禁止使用alert confirm prompt ,//禁止使用数组构造器 ,//禁止使用按位运算符 ,//禁止使用arguments.caller或arguments.callee ,//禁止 ...

  9. php 常量const

    常量使用关键词const修饰,一经定义,不能改变 常量的使用规则 定义后,应该马上赋初始值 不能用public.private.protected修饰 在本类,可用self::name  类名::na ...

  10. 初读"Thinking in Java"读书笔记之第二章 --- 一切都是对象

    用引用操纵对象 Java里一切都被视为对象,通过操纵对象的一个"引用"来操纵对象. 例如, 可以将遥控器视为引用,电视机视为对象. 创建一个引用,不一定需要有一个对象与之关联,但此 ...