feat(tools): 白模关卡自动生成Python脚本——Level Builder

两阶段流水线:搭建指南Markdown → JSON → UE5 Actor
- 解析器:4种表格变体+范围展开+坐标表达式计算
- 配置:37种BSP资产映射+13种材质+7区域定义
- 验证:265个Actor全部通过,0错误
- Builder:UE5 Python API自动放置Actor+材质+Outliner
- 报告:自动生成搭建报告Markdown

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-07 23:03:45 +08:00
parent 8011cb6472
commit 0f96b79dba
74 changed files with 10468 additions and 109 deletions
+22 -23
View File
@@ -35,7 +35,7 @@ memory: project
```
概念草案(灵魂)→ 系统设计案(骨架)→ 执行案(血肉)
concept.md <system>.md <system>-execution.md
概念草案.md <系统名>.md <系统名>-执行案.md
"这个游戏是什么" "有哪些系统,如何关联" "程序实现的交互规则"
```
@@ -43,29 +43,29 @@ memory: project
```
docs/design/
concept.md # 概念草案(原型阶段开始后冻结)
概念草案.md # 概念草案(原型阶段开始后冻结)
prototype/ # 原型阶段产出
README.md # 设计文档索引
<system>.md # 系统设计案
<system>-execution.md # 执行案
scene-v<XX>-<name>.md # 场景设计(索引中链接)
brainstorm-YYYY-MM-DD-<topic>.md # 头脑风暴记录
<系统名>.md # 系统设计案
<系统名>-执行案.md # 执行案
场景-v<XX>-<名称>.md # 场景设计(索引中链接)
头脑风暴-YYYY-MM-DD-<主题>.md # 头脑风暴记录
production/ # 批量生产阶段(从 prototype/ 复制)
GameConfig/ # 数值配置表
<name>.csv / <name>.json
<名称>.csv / <名称>.json
```
### 文件命名规范
| 文档类型 | 格式 | 示例 |
|---------|------|------|
| 头脑风暴 | `brainstorm-YYYY-MM-DD-<topic>.md` | `brainstorm-2026-06-01-vision-pillars.md` |
| 系统设计案 | `<system>.md` | `interaction-system.md` |
| 执行案 | `<system>-execution.md` | `player-controller-execution.md` |
| 场景设计 | `scene-v<XX>-<name>.md` | `scene-v01-suburban.md` |
| 关卡执行案 | `level-v<XX>-<name>-execution.md` | `level-v01-suburban-execution.md` |
| 配置表 | `<name>.csv` 或 `<name>.json` | `marble-params.csv` |
| 头脑风暴 | `头脑风暴-YYYY-MM-DD-<主题>.md` | `头脑风暴-2026-06-01-愿景支柱.md` |
| 系统设计案 | `<系统名>.md` | `交互系统.md` |
| 执行案 | `<系统名>-执行案.md` | `玩家控制器-执行案.md` |
| 场景设计 | `场景-v<XX>-<名称>.md` | `场景-v01-城郊小街.md` |
| 关卡执行案 | `关卡-v<XX>-<名称>-执行案.md` | `关卡-v01-城郊小街-执行案.md` |
| 配置表 | `<名称>.csv` 或 `<名称>.json` | `弹珠参数.csv` |
---
@@ -83,10 +83,10 @@ GameConfig/ # 数值配置表
2. **一次一个问题** — 使用 AskUserQuestion 提供选项或开放提问。绝不一次性抛出所有问题。
3. **要具体场景** — 如果回答模糊,问"你能描述一下那个时刻的画面吗?"
4. **及时总结共识** — 每个子话题讨论后,总结并确认双方理解一致。
5. **记录结果** — 写入 `brainstorm-YYYY-MM-DD-<topic>.md`。
5. **记录结果** — 写入 `头脑风暴-YYYY-MM-DD-<主题>.md`。
### 头脑风暴记录
- 位置:`docs/design/<stage>/brainstorm-YYYY-MM-DD-<topic>.md`
- 位置:`docs/design/<stage>/头脑风暴-YYYY-MM-DD-<主题>.md`
- 性质:非正式会议笔记,无固定格式,记录要点和共识。
- 目的:下次会话阅读,避免重复讨论。
@@ -113,7 +113,7 @@ GameConfig/ # 数值配置表
## 阶段特定行为
### 草案阶段
- 产出 `docs/design/concept.md`,包含 7 个必填字段:
- 产出 `docs/design/概念草案.md`,包含 7 个必填字段:
1. 一句话描述
2. 玩家核心游玩内容与感受
3. 核心受众画像
@@ -122,8 +122,8 @@ GameConfig/ # 数值配置表
6. 市场定位与三大卖点
7. 参考
- 极轻量;可以反复推翻。
- **用户确认并进入原型阶段后:concept.md 冻结。** 不再修改。
- 偏离概念的内容应记录在系统设计案中并说明原因,不修改 concept.md。
- **用户确认并进入原型阶段后:概念草案.md 冻结。** 不再修改。
- 偏离概念的内容应记录在系统设计案中并说明原因,不修改概念草案.md。
### 原型阶段
- 灵活性:核心行为必须完整,非核心可略过。
@@ -343,8 +343,7 @@ GameConfig/ # 数值配置表
## 阅读参考文档
开始工作前,阅读相关参考文档:
- `.claude/refs/development-workflow.md` — 流水线定义、阶段划分、质量标准
- `docs/design/concept.md` — 已冻结的概念草案(只读参考)
- `docs/design/概念草案.md` — 已冻结的概念草案(只读参考)
- 已有的设计文档 `docs/design/<stage>/` — 产出新文档前了解当前状态
- 项目管理工具 — 查看分配给你的任务和流水线状态
@@ -361,7 +360,7 @@ GameConfig/ # 数值配置表
### 产出时机
关卡执行案在 **③执行案阶段** 产出,与系统执行案同步。产出前先阅读:
- 对应的场景设计案 `scene-v<XX>-<name>.md`(氛围愿景)
- 对应的场景设计案 `场景-v<XX>-<名称>.md`(氛围愿景)
- `.claude/refs/level-execution-template.md`(文档模板)
- `.claude/refs/blockout-asset-reference.md`(BSP 资产参考卡)
@@ -369,13 +368,13 @@ GameConfig/ # 数值配置表
1. **混合坐标体系**:区域用场景绝对坐标(原点在西南角),区域内物件用相对偏移坐标
2. **BSP 资产建议是方向性指引**:引用资产类别名和组合方式(如 "Wall_400x300 × 2"),不写文件路径
3. **交叉引用**:交互物引用 `interaction-system-execution.md` 编号,收集品引用 `collection-system-execution.md` 编号
3. **交叉引用**:交互物引用 `交互系统-执行案.md` 编号,收集品引用 `收集系统-执行案.md` 编号
4. **不越界**:不写引擎组件名、文件路径、Blueprint 类名
5. **标识色**:每个区域指定 `MI_Dev<颜色>` 标识色材质,供白模阶段区分
### 完整规范
参见 `docs/design/prototype/level-design-workflow.md`。
参见 `docs/design/prototype/关卡设计工作流.md`。
---