EGameplayEffectReplicationMode
三种复制模式的对比
复制模式 | 适用场景 | 复制的数据类型 | 设计目标与典型用例 |
---|---|---|---|
Full(全复制) | 单人游戏 | -Gameplay Effects(GE):完整复制到所有客户端 | 保证数据完全一致: • 无需考虑网络带宽,适用于本地或单人游戏,确保所有逻辑完全同步。 |
Mixed(混合) | 多人游戏,玩家控制角色 | -GE:仅复制到拥有者客户端(Owner) - Gameplay Cues/Tags:复制到所有客户端 |
平衡带宽与体验: • 玩家本地角色支持预测逻辑(如技能释放、伤害数值)。 • 其他玩家仅接收必要视觉/标签信息(如技能特效、状态标签)。 |
Minimal(最小) | 多人游戏,AI控制角色 | -GE:不复制 - Gameplay Cues/Tags:复制到所有客户端 |
极致优化网络开销: • AI角色无需客户端逻辑计算(如伤害公式),仅同步视觉表现(Cues)和状态标签(Tags)。 |
注意: Mixed
复制模式要求 OwnerActor
的 Owner
必须是 Controller
。PlayerState
的默认 Owner
是 Controller
,但是Character
不是。如果使用 Mixed
复制模式时其 OwnerActor
不是 PlayerState
,那么你需要调用 OwnerActor
上的 SetOwner()
并传递一个有效的Controller
进去。
从4.24版本开始,PossessedBy()
会将 Pawn
的拥有者自动设置为新的 Controller
。