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

相关推荐
_风华ts11 小时前
创建并使用AimOffset
ue5·动画·虚幻·虚幻引擎·aimoffset
小李也疯狂1 天前
Unity 中的立方体贴图(Cubemaps)
unity·游戏引擎·贴图·cubemap
呆呆敲代码的小Y1 天前
【Unity工具篇】| 超实用工具LuBan,快速上手使用
游戏·unity·游戏引擎·unity插件·luban·免费游戏·游戏配置表
EQ-雪梨蛋花汤1 天前
【Unity优化】Unity多场景加载优化与资源释放完整指南:解决Additive加载卡顿、预热、卸载与内存释放问题
unity·游戏引擎
我的offer在哪里1 天前
用 Unity 从 0 做一个「可以玩的」游戏,需要哪些步骤和流程
游戏·unity·游戏引擎
泡泡茶壶ᐇ1 天前
Unity游戏开发入门指南:从零开始理解游戏引擎核心概念
unity·游戏引擎
Var_al2 天前
抖小Unity WebGL分包命令行工具实践指南
unity·游戏引擎·webgl
天人合一peng2 天前
unity 通过代码修改button及其名字字体的属性
unity·游戏引擎
GLDbalala2 天前
Unity基于自定义管线实现经典经验光照模型
unity·游戏引擎
心疼你的一切2 天前
Unity异步编程神器:Unitask库深度解析(功能+实战案例+API全指南)
深度学习·unity·c#·游戏引擎·unitask