feat(tools): 命令行白模构建——build_level.bat 一键生成UE5关卡
This commit is contained in:
@@ -87,35 +87,53 @@ python main.py validate -i output/level_v01.json
|
||||
|
||||
**生成文件**: `output/validation_result.json`
|
||||
|
||||
### 第三步:UE5 编辑器内构建(需要 UE5 编辑器运行)
|
||||
### 第三步:UE5 构建
|
||||
|
||||
在 UE5 编辑器 Python 控制台中执行:
|
||||
有两种方式,**推荐使用命令行方式**(全自动,无需手动操作编辑器):
|
||||
|
||||
#### 方式 A:命令行一键构建(推荐)
|
||||
|
||||
```bat
|
||||
REM 从项目根目录运行
|
||||
tools\level-builder\build_level.bat
|
||||
```
|
||||
方式 A — Output Log Python 控制台:
|
||||
exec(open(r"tools/level-builder/main.py").read())
|
||||
main(["build", "-i", "output/level_v01.json"])
|
||||
|
||||
方式 B — 仅构建指定区域:
|
||||
main(["build", "-i", "output/level_v01.json", "--zones", "Z1,Z3"])
|
||||
|
||||
方式 C — 增量构建(不清除已有 Actor):
|
||||
main(["build", "-i", "output/level_v01.json", "--no-clear"])
|
||||
**高级用法**:
|
||||
```bat
|
||||
build_level.bat --json output/v02.json --map LVL_SuburbanV02 # 指定 JSON 和关卡名
|
||||
build_level.bat --no-quit # 构建后保留编辑器
|
||||
build_level.bat --no-null-rhi # 显示编辑器窗口(调试)
|
||||
build_level.bat --dry-run # 只打印命令不执行
|
||||
```
|
||||
|
||||
**环境变量**:
|
||||
- `UE5_ROOT` — UE5 安装目录(未设置时自动检测 5.7/5.6 常见路径)
|
||||
|
||||
**预期输出**:
|
||||
```
|
||||
[LevelBuilder] 加载 265 个 Actor 定义
|
||||
[LevelBuilder] 清除 0 个已有 LVL_* Actor...
|
||||
进度: 20/265 (20 成功, 0 失败)
|
||||
...
|
||||
[LevelBuilder] 构建完成!
|
||||
成功: 265
|
||||
失败: 0
|
||||
日志: output/build_log.json
|
||||
[LevelBuilder] SUCCESS: 265 | FAILED: 0 | TOTAL: 265
|
||||
[LevelBuilder] ✅ 关卡已保存: /Game/Maps/LVL_SuburbanV01
|
||||
```
|
||||
|
||||
**生成文件**: `output/build_log.json`
|
||||
**生成文件**:
|
||||
- `Content/Maps/LVL_SuburbanV01.umap` — UE5 关卡文件
|
||||
- `tools/level-builder/output/build_log.json` — 构建日志
|
||||
|
||||
#### 方式 B:编辑器内手动执行
|
||||
|
||||
在 UE5 编辑器 Python 控制台中:
|
||||
|
||||
```
|
||||
方式 B1 — Output Log Python 控制台:
|
||||
exec(open(r"tools/level-builder/build_in_editor.py").read())
|
||||
|
||||
方式 B2 — File > Execute Python Script > 选择 build_in_editor.py
|
||||
|
||||
方式 B3 — CLI 方式(仅构建指定区域):
|
||||
exec(open(r"tools/level-builder/main.py").read())
|
||||
main(["build", "-i", "output/level_v01.json", "--zones", "Z1,Z3"])
|
||||
```
|
||||
|
||||
### 第四步:生成搭建报告(离线,Claude 可执行)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user