虚幻引擎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的那个客户端上执行(变为普通函数)

相关推荐
RReality14 小时前
【Unity Shader URP】序列帧动画(Sprite Sheet)实战教程
unity·游戏引擎
mxwin14 小时前
Unity URP 多线程渲染:理解 Shader 变体对加载时间的影响
unity·游戏引擎·shader
呆呆敲代码的小Y15 小时前
【Unity工具篇】| 游戏完整资源热更新流程,YooAsset官方示例项目
人工智能·游戏·unity·游戏引擎·热更新·yooasset·免费游戏
nainaire16 小时前
自学虚幻引擎记录1
游戏引擎·虚幻
码云数智-大飞18 小时前
解耦的艺术:.NET 中依赖注入(DI)的核心原理与实战
网络·网络协议·rpc
想你依然心痛19 小时前
HarmonyOS 5.0游戏开发实战:构建高性能2D休闲游戏引擎与 monetization 系统
华为·游戏引擎·harmonyos
code_pgf19 小时前
RPC数据集整理与 Scalabel 标注说明
qt·网络协议·rpc
鸿儒5172 天前
利用gdal进行RPC经纬度与像素坐标转换问题记录
linux·rpc·gdal
Zarek枫煜3 天前
C3 编程语言 - 现代 C 的进化之选
c语言·开发语言·青少年编程·rust·游戏引擎