Files
ChildHood/.claude/refs/level-execution-template.md
T
starmen1265 0f96b79dba 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>
2026-06-07 23:03:45 +08:00

246 lines
9.5 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.
# 关卡执行案模板
> 本模板供策划产出关卡执行案时使用。关卡执行案是场景设计案的"空间精度版本"——将氛围描述转化为带有坐标、尺寸和资产建议的结构化搭建指南,供程序在 UE5 编辑器中搭建白模。
>
> 文件命名:`关卡-v<XX>-<名称>-执行案.md`(如 `关卡-v01-城郊街区-执行案.md`)
> 存放位置:`docs/design/<阶段>/`(与其他执行案同目录)
---
```markdown
# v<版本号> 关卡执行案 — <场景名>
## 迭代记录
| 迭代版本 | 修改日期 | 状态 | 说明 |
|----------|----------|------|------|
| v<版本号> | YYYY-MM-DD | 📝 设计中 | 初始版本 |
> 状态标记:📝 设计中 | 🔄 开发中 | ✅ 已同步
---
## 一、场景参数
| 参数 | 值 | 说明 |
|------|-----|------|
| 场景总尺寸 | <!-- 如 80m x 60m --> | UE5 单位(1 uu = 1 cm) |
| 地面高度基准 | <!-- 如 0 --> | 统一地面平面高度(UE5 Z 轴,单位 cm) |
| 主角身高 | <!-- 如 ~120cm --> | 影响门高、窗台高、摄像机高度 |
| 主角视角高度 | <!-- 如 ~100cm --> | 摄像机距地面(SpringArm 高度参考) |
| 时间设定 | <!-- 如 夏日午后 15:00 --> | 影响光照方向和色温 |
| 坐标系原点 | 场景西南角地平面 | X 轴向东(+),Y 轴向北(+),Z 轴向上(+) |
**坐标系说明**:
- 区域级定位使用**场景绝对坐标**(原点在西南角,单位 cm)
- 区域内物件使用**相对于该区域西南角的偏移坐标**(0,0 为区域西南角)
- 偏移格式:(ΔX, ΔY, ΔZ),ΔX 向东为正,ΔY 向北为正,ΔZ 向上为正
---
## 二、区域坐标布局
### 2.1 区域总览表
| 区域编号 | 区域名称 | 绝对坐标范围 (X,Y) | 尺寸 (宽x深) | 地面材质建议 | 标识色 |
|---------|---------|-------------------|-------------|-------------|--------|
| Z1 | <!-- 区域名 --> | (X1,Y1)-(X2,Y2) | Wm × Dm | <!-- 如 水泥/砖/泥 --> | <!-- 如 MI_DevRed --> |
| Z2 | | | | | |
| ... | | | | | |
| Zn | | | | | |
> 标识色使用 BSP 材质名(参见 `白模资产参考.md`),程序用对应材质标识区域。
### 2.2 交通流线
| 流线路径 | 宽度 | 说明 |
|---------|------|------|
| <!-- 如 Z1 → Z3 家门 → 街道 --> | <!-- 如 200cm --> | <!-- 如 出院门直接接主街 --> |
| | | |
| | | |
### 2.3 ASCII 总览图
<!-- 用简化的方块图展示区域相对位置关系和流线方向 -->
```
Y↑ (北)
│
┌─────┤
│ Zn │
└──┬──┘
│
┌──────┴──────┐
│ Z... │
└──┬──────┬───┘
│ │
┌──────┴──┐ ┌─┴───────┐
─────┤ Z1 │ │ Z... ├─────
└─────────┘ └─────────┘
────────────────────────────────→ X (东)
(0,0)
```
---
## 三、逐区域搭建指南
<!-- ============================================ -->
<!-- 以下为每个区域的模板,每个区域复制一份并填写 -->
<!-- ============================================ -->
### Z<x>: <区域名称>
**区域绝对原点**:(X, Y, Z) — 该区域西南角在场景中的绝对坐标
#### 3.x.1 区域参数
| 参数 | 值 | 说明 |
|------|-----|------|
| 地面高度 | <!-- 如 0cm / +10cm --> | 相对场景地面基准 |
| 围墙/外墙高度 | <!-- 如 250cm --> | |
| 门洞宽度 | <!-- 如 120cm --> | |
| 门洞高度 | <!-- 如 220cm --> | |
| 室内净高 | <!-- 如 280cm --> | 如为室内区域 |
| 屋檐高度 | <!-- 如 300cm --> | |
#### 3.x.2 结构体清单
<!-- 结构体 = 墙、地板、屋顶、门框、窗框、围栏等建筑构件 -->
| 编号 | 构件名称 | 尺寸 (宽x深x高, cm) | 相对原点偏移 (ΔX,ΔY,ΔZ) | BSP 资产建议 | 标识色 |
|------|---------|-------------------|----------------------|-------------|--------|
| Zx-S01 | <!-- 如 南围墙 --> | <!-- 如 800x20x250 --> | (0,0,0) | <!-- 如 Wall_400x300×2 --> | <!-- 如 MI_DevRed --> |
| Zx-S02 | | | | | |
| Zx-S03 | | | | | |
| ... | | | | | |
**BSP 资产建议说明**:
- 填写 BSP 资产类别名和组合方式(如 "Wall_400x300 × 2 叠加")
- 程序负责映射到引擎中的具体资产路径
- 如无精确匹配,写"Primitives 组合"并注明替代意图
- 参见 `.claude/refs/白模资产参考.md` 中的替代方案
#### 3.x.3 布景物清单
<!-- 布景 = 非建筑结构的场景物件:家具、道具、装饰品等 -->
| 编号 | 物件名称 | 尺寸 (约, cm) | 相对原点偏移 (ΔX,ΔY,ΔZ) | BSP 资产建议 | 说明 |
|------|---------|-------------|----------------------|-------------|------|
| Zx-P01 | <!-- 如 旧自行车 --> | <!-- 如 50x150x100 --> | (100,100,0) | <!-- 如 Car01 缩放50% --> | <!-- 如 靠墙停放 --> |
| Zx-P02 | | | | | |
| ... | | | | | |
#### 3.x.4 可交互物体标记
<!-- 引用交互系统执行案中的交互物,此处只标注空间位置 -->
| 交互编号 | 物件名称 | 交互类型 | 相对原点偏移 (ΔX,ΔY,ΔZ) | 触发半径 (cm) | 引用 |
|---------|---------|---------|----------------------|-------------|------|
| Zx-I01 | <!-- 如 旧冰箱 --> | <!-- 如 观察 --> | (200,400,10) | <!-- 如 150 --> | 交互系统-执行案 #n |
| Zx-I02 | | | | | |
| ... | | | | | |
> 交互类型参照交互系统执行案中的分类(观察/拾取/操作/对话等)。
> "引用"列填写交互系统执行案中对应交互物的编号,确保跨文档一致。
#### 3.x.5 收集品标记
<!-- 引用收集系统执行案中的收集品,此处只标注空间位置 -->
| 收集编号 | 物品名称 | 稀有度 | 相对原点偏移 (ΔX,ΔY,ΔZ) | 引用 |
|---------|---------|--------|----------------------|------|
| Zx-C01 | <!-- 如 彩色弹珠 --> | <!-- 如 普通/稀有 --> | (500,200,0) | 收集系统-执行案 #n |
| Zx-C02 | | | | |
| ... | | | | | |
> 稀有度影响拾取物的视觉效果标识(普通=白色光,稀有=金色光),具体表现由收集系统技术方案定义。
---
<!-- 重复 Z2...Zn 的搭建指南 -->
---
## 四、全局物件清单
<!-- 不属于任何特定区域的场景物件,如街道家具、环境物件等。
全局物件使用场景绝对坐标定位。 -->
### 4.1 街道家具
| 编号 | 物件名称 | 数量 | 放置位置 (绝对坐标 X,Y,Z) | BSP 资产建议 | 说明 |
|------|---------|------|------------------------|-------------|------|
| G-01 | <!-- 如 路灯 --> | <!-- 如 3 --> | <!-- 如 (2000,200,0) --> | <!-- 如 RoadLamp_01 --> | |
| G-02 | | | | | |
| ... | | | | | |
### 4.2 环境物件
| 编号 | 物件名称 | 数量 | 放置位置 (绝对坐标 X,Y,Z) | BSP 资产建议 | 说明 |
|------|---------|------|------------------------|-------------|------|
| G-E01 | <!-- 如 电线杆 --> | <!-- 如 2 --> | <!-- 如 (3000,200,0) --> | <!-- 如 Cylinder 缩放 --> | |
| G-E02 | | | | | |
| ... | | | | | |
### 4.3 收集品位置汇总
| # | 物品名称 | 所在区域 | 绝对坐标 (X,Y,Z) | 稀有度 | 引用 |
|---|---------|---------|-----------------|--------|------|
| 1 | | | | | 收集系统-执行案 #n |
| 2 | | | | | |
| ... | | | | | |
---
## 五、场景边界与遮挡
| 边界段 | 位置范围 | 遮挡方式 | BSP 资产建议 | 标识色 |
|--------|---------|---------|-------------|--------|
| 西边界 | X=0 全线 | <!-- 如 围墙 --> | <!-- 如 Wall_400x300 --> | |
| 南边界 | Y=0 全线 | | | |
| 东边界 | X=<!-- --> | | | |
| 北边界 | Y=<!-- --> | | | |
> 边界必须确保玩家无法走出场景范围。所有边界物体启用物理碰撞。
> 自然边界(如水塘)通过不可通行水面实现,无需额外围墙。
---
## 六、光照建议(可选)
| 光源类型 | 数量 | 位置/方向 | 参数建议 | 说明 |
|---------|------|---------|---------|------|
| 定向光 | 1 | <!-- 如 从西南向东北照射 --> | <!-- 如 色温 6500K,强度 中 --> | 夏日午后主光源 |
| 天空光 | 1 | 全局 | | 环境补光 |
| 路灯 | N | 见全局物件清单 | | 点光源/聚光灯 |
> 光照参数为建议值,可调。程序根据实际效果微调方向和强度。
```
---
## 模板使用说明
### 策划填写要点
1. **先确定区域坐标布局**(第二章),确保所有区域在总尺寸内不重叠、流线合理
2. **逐区域填写**(第三章),按"结构体 → 布景 → 交互物 → 收集品"的顺序
3. **BSP 资产建议是方向性指引**:写资产类别名和组合方式即可(如 "Wall_400x300 × 2"),不需要写文件路径
4. **尺寸以 cm 为单位**,对应 UE5 的 1 uu = 1 cm
5. **交叉引用**:交互物和收集品必须引用对应系统执行案中的编号,保持跨文档一致
### 不要填写的内容
- ❌ 引擎组件名(Actor、Component、Blueprint 等)
- ❌ 文件路径(如 `/Game/Content/...`)
- ❌ Blueprint 类名
- ❌ 精确的硬编码参数值(标注"建议值,可调"并附范围)
- ❌ 代码或脚本
### 与场景设计案的关系
- 场景设计案(`场景-v<XX>-<名称>.md`)= **氛围愿景** — 描述感觉、氛围、叙事意图
- 关卡执行案 = **空间精度搭建指南** — 坐标、尺寸、资产映射
- 两者是互补关系,不是替代关系。程序搭建时两个文档都需要参考。