54 lines
1.9 KiB
Markdown
54 lines
1.9 KiB
Markdown
---
|
||
title: "OneFilePerActor"
|
||
type: concept
|
||
tags: ["unreal-engine", "collaboration", "version-control", "world-partition"]
|
||
sources: ["unreal-world-builder"]
|
||
last_updated: 2026-04-30
|
||
---
|
||
|
||
## Aliases
|
||
- OFPA
|
||
- One File Per Actor
|
||
- 单 Actor 单文件
|
||
- Per-Actor Asset 分块
|
||
|
||
## Definition
|
||
One File Per Actor(OFPA)是 Unreal Engine 5 World Partition 模式下的多用户协作编辑机制。每个 Actor 存储在独立文件中,而非整个关卡一个文件,从而支持多人同时编辑不同 Actor 而不产生源控制冲突。
|
||
|
||
## Problem Solved
|
||
传统关卡文件(所有 Actor 在一个 `.umap` 中)的协作问题:
|
||
- 两人同时打开同一关卡 → 文件冲突
|
||
- 某人保存后另一人保存 → 后者覆盖前者改动
|
||
- 锁定整个关卡才能安全编辑 → 串行化工作流程
|
||
|
||
## OFPA Workflow
|
||
1. 每个 Actor 存储为 `Path/To/Actor_Name/ActorName.uasset`
|
||
2. 多人可同时编辑不同 Actor,无需锁定
|
||
3. 源控制按 Actor 粒度管理变更
|
||
4. 关卡文件仅存储 Actor 引用而非内容
|
||
|
||
## Team Education Requirements
|
||
必须教育团队:
|
||
- **签出方式**:按 Actor 单独签出,而非整个关卡
|
||
- **依赖理解**:Actor 引用关系在关卡文件中,更改引用仍需操作关卡文件
|
||
- **命名规范**:Actor 命名必须符合团队规范,避免歧义
|
||
|
||
## File Count Management
|
||
OFPA 启用后大规模关卡产生数千个 Actor 文件:
|
||
- 必须建立**文件数预算**
|
||
- 监控文件数增长趋势
|
||
- 构建关卡审计工具,标记尚未转换为 OFPA 的遗留关卡
|
||
|
||
## OFPA Limitations
|
||
- 大量 Actor 文件增加文件系统压力
|
||
- 某些第三方插件可能不完全兼容 OFPA
|
||
- 源控制仓库大小显著增加(更多小文件)
|
||
|
||
## Connections
|
||
- [[WorldPartition]] ← 协作模式 ← OneFilePerActor
|
||
- [[UnrealWorldBuilder]] ← 多用户支持 ← OneFilePerActor
|
||
- [[UnrealEngine5]] ← 核心引擎 ← OneFilePerActor
|
||
|
||
## Sources
|
||
- [[unreal-world-builder]]
|