ue4 rpc php,UE4 Run On owing Client解析(RPC测试)
[导读]今天看到文档中游戏性指南->远程调用函数->在蓝图中使用远程调用函数的 Run On Owning Client 在所有权的客户端上运行部分,发现把Add Item和Remove Item设置为Not Replicated时,跟示例的效果并没有区别,下面将分析这种情况的原因和其中的原理。
今天看到文档中游戏性指南->远程调用函数->在蓝图中使用远程调用函数的 Run On Owning Client 在所有权的客户端上运行部分,发现把Add Item和Remove Item设置为Not Replicated时,跟示例的效果并没有区别,下面将分析这种情况的原因和其中的原理。
1,首先解释上面这种情况的原因,该示例使用的是第三人称模板,在Character里写了一个String变量Inventory,设置如图:
在场景中放置一个Trigger Box,在关卡蓝图添加BeginOverlap和EndOverlap事件:
AddItem和RemoveItem:打印一个字符串并给Character里的Inventory赋值。
在示例中这两个事件设置为Run On owing Client,游戏运行起来的效果是当服务器的Character进入Trigger时,会调用服务器的Character的AddItem,当切换到客户端的Character进入Trigger时,会调用客户端的Character的AddItem,但是这是依赖Trigger重叠的Actor来分别调用的,跟AddItem这个函数的同步属性没有关系。根据RPC中的图表:
可以看到当在服务器调用RPC时,如果actor的所有权是服务器,那调用的函数是notreplicated、server、client时的结果都是在服务器上执行,示例中是在Triggerbox的Overlap事件调用的AddItem,所以AddItem属于Triggerbox,而Triggerbox的所有权是服务器,AddItem都是在服务器上执行的,所以AddItem函数的这几个选项的结果都是一样的。
下面是关于RPC的一些试验:
1,Level Blueprint存在于服务器和客户端,GameMode存在于服务器(这个都知道-.-)
2,枪开火的函数应该如何实现?
根据文档说明,Run on owing client必须放在以上Actor中执行,否则服务器不知道要给哪个客户端执行,所以一种方法是开火的函数设置为Run On Server,并且把产生的粒子特效设为复制,这样所有客户端都能看到效果.
还有一点需要注意,虚幻采用的是客户端服务器模式,一个客户端是不能直接与任何一个客户端通信的!!!但是可以模拟这个行为,创建两个函数,第一个为Run On Server,第二个为Multicast,第一个函数只负责调用第二个函数,第二个函数为创建开火的粒子特效,这样创建的粒子特效不用复制也能有同样的效果。
ue4 rpc php,UE4 Run On owing Client解析(RPC测试)相关推荐
- 发生ActionScript 错误:[RPC Fault faultString=发送失败 faultCode=Client.Error.MessageSend faultDetail=Ch...
发生ActionScript 错误:[RPC Fault faultString="发送失败" faultCode="Client.Error.MessageSend&q ...
- Spark RPC框架源码分析(二)RPC运行时序
前情提要: Spark RPC框架源码分析(一)简述 一. Spark RPC概述 上一篇我们已经说明了Spark RPC框架的一个简单例子,Spark RPC相关的两个编程模型,Actor模型和Re ...
- rpc是什么?php中流行的rpc框架有哪些?
什么是rpc框架 先回答第一个问题:什么是RPC框架?如果用一句话概括RPC就是:远程调用框架(Remote Procedure Call) 那什么是远程调用? 通常我们调用一个php中的方法,比如这 ...
- php rpc调用,PHP远程调用, 为什么需要使用RPC
前言 一个项目,从开始到版本更新,一直到最后的版本维护.功能在不断增多,对应的代码量也在不断增加,也就意味着项目变得更不可维护,这时候,我们需要用拆分的方式将一个项目打散,以便开发团队更好的对项目进行 ...
- xp显示rpc服务器不可用,XP系统如何解决RPC服务器不可用?
使用打印机或其他操作安装计算机时,它会提示RPC服务器不可用.很多人都会遇到这个问题. 许多朋友可能不了解RPC,他们不知道如何解决它.当用户在WinXP系统计算机上运行时,RPC服务器不可用该怎么办 ...
- RPC基本原理以及如何用Netty来实现RPC
什么是RPC RPC(Remote Procedure Call)- 远程过程调用,是一个计算机通信协议.该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程 ...
- STM32F1 W5500 TCP Client 回环测试
刚刚接触W5500的时候,做TCP Client回环测试的时候,出现很奇怪的问题,查了好多遍代码,死活连接不上PC网络助手的TCPServer.其实代码本身没什么大问题,PC机的防火墙忘记关闭了.总结 ...
- 误删系统rpc服务器不可用,rpc服务器不可用,小编教你rpc服务器不可用怎么办
网上介绍关于"RPC服务器不可用"的内容,才知道RPC是一种协议,主要是为组件提供一种相互通信的方式,传递请求的结果,故障原因是因为系统对本地系统禁用RPC,只需要启动RPC就可以解决这一问 ...
- w7系统显示rpc服务器不可用,教你win7系统rpc服务器不可用怎么办
用户在使用电脑进行时间同步,安装打印机或者其它的操作的时候可能会遇到同样一个问题,那就是提示"RPC服务器不可用",很多朋友可能对于RPC并不了解,更不知道如何解决,下面,小编就来 ...
- UE4 Run On Server与Run on owning client
转载于:https://www.cnblogs.com/coolbear/p/7154876.html
最新文章
- ajax data参数没有值,ajax $.get的data参数无法传递
- POJ 3348 Cows 凸包面积
- 【指标统计】根据遥控补全遥信
- js reduce实现中间件_Laravel中间件实现原理及实例分析
- 用汇编的眼光看C++(之拷贝、赋值函数)
- 硒等待:内隐,外显,流利和睡眠
- 爱奇艺视频播放怎么开加速
- LeetCode(1030)——距离顺序排列矩阵单元格(JavaScript)
- MongoDB学习笔记(四)--索引 性能优化
- eclipse 输入光标由于误操作变成小黑块如何恢复
- java基础完整代码,22年最新
- 基于android的学生选课信息app
- Linux内核源代码 学习笔记
- 【板子】 0-1背包问题 一维数组
- Magento常用功能插件
- 系统监控必备工具procmon
- QQ、YY与webRTC回声消除效果对比分析与展望
- ZigBee 3.0实战教程-Silicon Labs EFR32+EmberZnet-2-01:芯科的硬件解决方案EFR32
- 工控流量分析题+wireshark学习
- Flash Switcher(一) - 快捷Tab切换器