Files
nexus/wiki/concepts/ActorReplication.md
2026-05-03 05:42:12 +08:00

43 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Actor Replication"
type: concept
tags: ["unreal-engine", "networking", "multiplayer"]
sources: ["unreal-multiplayer-architect", "unreal-multiplayer-architect"]
last_updated: 2026-04-30
---
## Aliases
- Actor 复制
- 属性复制
- Property Replication
## 定义
Actor 复制是 UE5 中将服务器端 Actor 状态同步到客户端的核心网络机制。通过 `UPROPERTY(Replicated)` 声明需要复制的属性。
## 复制条件
- `Replicated`: 无条件复制到所有相关客户端
- `ReplicatedUsing=OnRep_Function`: 复制时触发 RepNotify 回调
- `DOREPLIFETIME_CONDITION`: 按条件复制(如 `COND_OwnerOnly``COND_SimulatedOnly`
## 生命周期
1. 服务器模拟游戏逻辑,更新 Actor 属性
2. UE5 复制层检测属性变化
3.`NetUpdateFrequency` 打包更新
4. 通过网络传输到客户端
5. 客户端应用更新,触发 RepNotify如果有
## 关键配置
- `NetUpdateFrequency`: 更新频率(默认 100Hz通常过高
- `MinNetUpdateFrequency`: 最小更新频率
- `GetNetPriority()`: 优先级,靠近/可见的 Actor 优先级更高
## 优化策略
- Replication Graph 空间分区
- 条件复制减少带宽
- 按 Actor 类型设置差异化频率
## 相关概念
- [[Server-Authoritative Model]] — 复制背后的权威模型
- [[Replication Graph]] — 复制优化框架
- [[GAS (Gameplay Ability System)]] — 基于复制的能力系统