虚幻引擎RPC

结合官方图表解释虚幻引擎RPC

Calling Machine:你在那个机器上调用RPC函数

Owning Connection:你在哪个机器上控制角色

Executing Machine:RPC函数会在哪里执行

Invoking Client:调用函数的那个客户端

Server RPC

Calling Machine Owning Connection Executing Machine
Server Client Server
Server Server Server
Server None Server
Client Invoking Client Server
Client Different Client Dropped
Client Server Dropped
Client None Dropped

第一行解读:

在Server上调用ServerRPC,玩家在Client上控制角色,则会在Server上执行

以此类推...

它的执行一般是在服务器

Client RPC

Calling Machine Owning Connection Executing Machine
Server Owning Client Owning Client
Server Server Server
Server None Server
Client Invoking Client Invoking Client
Client Different Client Invoking Client
Client Server Invoking Client
Client None Invoking Client

它的执行一般是在客户端

Remote RPC

Calling Machine Owning Connection Executing Machine
Server Owning Client Owning Client
Server Server Dropped
Server None Dropped
Client Invoking Client Server
Client Different Client Dropped
Client Server Dropped
Client None Dropped

RemoteRPC

只能在服务器 调用 在玩家控制的客户端 上执行

或者在玩家控制的客户端 调用 在服务器 上执行

注意在服务器上控制的玩家 调用RemoteRPC 会失效

其他情况 也会失效

Net Multicast RPC

Calling Machine Owning Connection Executing Machine
Server Client Server and all Clients the invoking actor is relevant for
Server Server Server and all Clients the invoking actor is relevant for
Server None Server and all Clients the invoking actor is relevant for
Client Invoking Client Invoking Client
Client Different Client Invoking Client
Client Server Invoking Client
Client None Invoking Client

在服务器 调用NetMulticastRPC会让所有机器执行

而在客户端 调用NetMulticastRPC只会在调用RPC的那个客户端上执行(变为普通函数)

相关推荐
xiaogai_gai6 小时前
BOM 物料清单同步实战:金蝶云星空 → 四化智造 MES 修改场景深度拆解
unity·游戏引擎
/**书香门第*/10 小时前
Cocos Creator 打螺丝游戏的实现
游戏引擎·cocos2d·螺丝·打螺丝
mxwin2 天前
Unity Shader 光线追踪原理与实战案例
unity·游戏引擎
xcLeigh3 天前
Unity基础:Instantiate实例化——在运行时动态创建游戏物体
游戏·unity·游戏引擎·教程·instantiate
墨神谕4 天前
RPC框架与HTTP REST的区别
网络协议·http·rpc
殷色玫瑰5 天前
C++ STL:map 与 set 详解——从底层红黑树到实际应用
c语言·数据结构·c++·算法·visualstudio·rpc
进化中的刀盾兽5 天前
从零实现 C++ Json-Rpc(九):从 TCP 字节流中拆出完整消息——MuduoBuffer 与 LVProtocol
c++·rpc
进化中的刀盾兽6 天前
从零实现 C++ Json-Rpc(八):补齐 detail.hpp——JSON 封装与请求 ID 生成
c++·rpc
小小龙学IT7 天前
Go 语言 gRPC(grpc-go)深度解析
rpc·架构·golang·go
acd120097 天前
RPC接口超时配置明明没问题,线上却随机超时
网络·网络协议·rpc