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。