552 lines
22 KiB
Markdown
552 lines
22 KiB
Markdown
# 44 · 关卡设计指南
|
||
|
||
> **命名空间** `BaseGames.World`(工具类)
|
||
> **所属文档集** [← 返回索引](./README.md) · [总览](./00_Overview.md)
|
||
> **依赖** 08_WorldSystem(房间结构)· 06_EnemySystem(敌人配置)· 35_PuzzleArchitecture(谜题)· 16_MapSystem(地图显示)
|
||
> **读者** 关卡设计师、美术、主策划
|
||
|
||
---
|
||
|
||
## 目录
|
||
|
||
1. [指南定位](#1-指南定位)
|
||
2. [房间规格规范](#2-房间规格规范)
|
||
3. [难度曲线与节奏设计](#3-难度曲线与节奏设计)
|
||
4. [敌人布置原则](#4-敌人布置原则)
|
||
5. [危险物布置规范](#5-危险物布置规范)
|
||
6. [收集品与秘密房间](#6-收集品与秘密房间)
|
||
7. [平台路径设计](#7-平台路径设计)
|
||
8. [房间连通性与地图图结构](#8-房间连通性与地图图结构)
|
||
9. [视觉叙事与环境氛围](#9-视觉叙事与环境氛围)
|
||
10. [Tileset 使用规范](#10-tileset-使用规范)
|
||
11. [关卡搭建 SOP](#11-关卡搭建-sop)
|
||
12. [关卡验收清单](#12-关卡验收清单)
|
||
|
||
---
|
||
|
||
## 1. 指南定位
|
||
|
||
本文档是泽灵(Zeling)关卡团队的**唯一权威参考**,覆盖从房间尺寸标准到秘密布置频率的全部设计规范。
|
||
代码规范见 08_WorldSystem;本文档聚焦**设计决策而非实现细节**。
|
||
|
||
### 核心设计哲学
|
||
|
||
| 原则 | 说明 |
|
||
|------|------|
|
||
| **沉默式教学** | 关卡本身教会玩家规则,尽量不用文字说明 |
|
||
| **奖励探索** | 偏离主路线必须有收益(Geo/收藏品/视觉彩蛋) |
|
||
| **清晰读图** | 关键路线视觉引导明确,死路必须有视觉暗示 |
|
||
| **挑战可预测** | 危险在接触前给予充分的视觉/听觉电报 |
|
||
| **功能美学合一** | 平台高度、尺寸由玩法逻辑驱动,装饰性道具不遮挡判定范围 |
|
||
|
||
---
|
||
|
||
## 2. 房间规格规范
|
||
|
||
### 2.1 标准尺寸参考
|
||
|
||
以下尺寸以**游戏单位(Unity Unit)**为准,1 Unit = 1 Tile(16×16px @16PPU):
|
||
|
||
| 房间类型 | 宽度范围 | 高度范围 | 用途 |
|
||
|---------|---------|---------|------|
|
||
| **过渡走廊**(Corridor)| 8–20 | 4–6 | 连接两个主房间,提供喘息 |
|
||
| **标准战斗房间**(Battle)| 20–40 | 8–16 | 含 2–5 个敌人,主要探索 |
|
||
| **竖向探索房间**(Shaft)| 6–12 | 20–40 | 强调垂直平台,无大量战斗 |
|
||
| **Boss 房间**(Boss)| 32–48 | 16–24 | 平坦地面为主,边界防逃跑 |
|
||
| **秘密房间**(Secret)| 6–12 | 4–8 | 收藏品/彩蛋奖励,无战斗 |
|
||
| **存档点房间**(Rest)| 10–14 | 6–8 | 仅存档点,可有商人 NPC |
|
||
|
||
### 2.2 玩家活动空间约束
|
||
|
||
基于玩家跳跃参数(见 23_GameFeelTuningGuide §2):
|
||
|
||
| 约束项 | 数值 | 来源参数 |
|
||
|--------|------|---------|
|
||
| 最大跳跃高度 | 4.5u(自然跳)/ 7u(双跳)| `JumpForce` |
|
||
| 最大水平跳跃距离 | 8u(冲刺跳)| `DashDistance + AirMoveSpeed` |
|
||
| 玩家宽度 | 0.8u | 碰撞体宽度 |
|
||
| 玩家高度 | 1.2u | 碰撞体高度 |
|
||
| WallGrab 最大停留 | 无限(已解锁后)| 26_WallMechanicsSystem |
|
||
|
||
**最低天花板高度**:3u(避免玩家跳跃时视野被遮挡)
|
||
**最窄可通行通道**:1.2u(仅容玩家通过,不适合战斗)
|
||
**推荐主路线天花板**:5u 以上(有跳跃空间的走廊)
|
||
|
||
---
|
||
|
||
## 3. 难度曲线与节奏设计
|
||
|
||
### 3.1 区域内难度递进原则
|
||
|
||
每个区域(Region)内的房间按"张弛有道"原则排列:
|
||
|
||
```
|
||
区域结构(示意):
|
||
入口走廊(休息)→ 探索房 × 2(轻度战斗)→ 遭遇战(中等)
|
||
→ 存档点 → 中段精英战(挑战)→ 休息走廊
|
||
→ Boss 前室(无敌人)→ Boss 房
|
||
```
|
||
|
||
**张弛比**:每 3 个高强度战斗房间之后,安排 1 个低密度/休息房间。
|
||
|
||
### 3.2 区域间难度跨越
|
||
|
||
| 区域 | 主要新挑战 | 玩家获得的应对工具 |
|
||
|------|-----------|-----------------|
|
||
| 扎根森林(Forest)| 基础敌人,单纯平台跳跃 | 起始攻击 + 弹反 |
|
||
| 腐蚀洞穴(Cave)| 黑暗区域,DoT 毒气,分支路线 | 双跳(本区获取)|
|
||
| 坍塌废墟(Ruins)| 移动平台,射击类敌人 | 冲刺(本区获取)|
|
||
| 深渊裂隙(Abyss)| 垂直布局,更高跌落风险 | WallGrab(本区获取)|
|
||
| 核心熔炉(Core)| 综合挑战,高火力敌人 | 命魂形态(本区获取)|
|
||
|
||
### 3.3 节奏节点分布
|
||
|
||
**必须的节奏节点**(每个区域内至少包含):
|
||
|
||
| 节点类型 | 最少数量/区域 | 说明 |
|
||
|---------|-------------|------|
|
||
| 存档点 | 3 | 确保死亡惩罚不过重,间隔约 5–8 分钟路程 |
|
||
| 商人 NPC | 1 | 区域中段,可以花 Geo 提升能力 |
|
||
| HP 容器 | 1 | 强化奖励,通常在次要路线或秘密房间 |
|
||
| 能力解锁点 | 0–1 | 每区域主线最多 1 个新能力 |
|
||
| Boss 入口前室 | 1 | 无敌人,给玩家喘息和心理准备 |
|
||
|
||
---
|
||
|
||
## 4. 敌人布置原则
|
||
|
||
### 4.1 密度规范
|
||
|
||
| 房间类型 | 最大同屏敌人 | 推荐敌人数 |
|
||
|---------|------------|----------|
|
||
| 过渡走廊 | 2 | 0–1 |
|
||
| 标准战斗房间 | 6 | 2–4 |
|
||
| Boss 前室 | 0 | 0 |
|
||
| Boss 房间 | Boss本体+2小兵 | 按Boss SO配置 |
|
||
| 秘密房间 | 1(守卫型)| 0 |
|
||
|
||
### 4.2 敌人组合设计法
|
||
|
||
**角色化组合**:每个战斗房间至少有一个"主要威胁",其余为"干扰者":
|
||
|
||
```
|
||
示例组合(Forest 区域中段):
|
||
主要威胁: SwordKnight(近战,盾反机制)×1
|
||
干扰者: SpiderScout(巡逻,打断玩家专注)×2
|
||
隐藏威胁: ArcherSkull(远程,树冠处,玩家注意 Knight 时开弓)×1
|
||
```
|
||
|
||
**禁止的组合**:
|
||
- 超过 2 个同类型远程敌人在同一水平线(弹幕地狱)
|
||
- 在无掩体房间内放置 3 个以上高伤害敌人
|
||
- Boss 房间内的小兵在 Boss 第一阶段就出现(除非 Boss 设计需要)
|
||
|
||
### 4.3 位置层次化
|
||
|
||
敌人应分布在不同高度层次,制造立体威胁:
|
||
|
||
```
|
||
[房间高度分布示意]
|
||
天花板层 ── 无(保留给玩家)
|
||
上层平台 ── 弓箭手、投石手(射程型)
|
||
中层主地面 ── 近战型、巡逻型(主要战斗区域)
|
||
下层凹地 ── 避免(玩家落入=陷阱,仅在特定房间使用)
|
||
```
|
||
|
||
### 4.4 新敌人引入规则(沉默式教学)
|
||
|
||
每种新型敌人首次出现时,遵循"认识 → 理解 → 挑战"三步曝光:
|
||
|
||
| 步骤 | 场景设计 | 目的 |
|
||
|------|---------|------|
|
||
| 认识 | 单独一只,玩家有充分空间观察 | 学习攻击模式 |
|
||
| 理解 | 1–2 只,含简单平台要素 | 理解弱点/应对策略 |
|
||
| 挑战 | 组合多只,或置于不利地形 | 测试掌握程度 |
|
||
|
||
---
|
||
|
||
## 5. 危险物布置规范
|
||
|
||
### 5.1 即死危险(InstantKill HazardZone)
|
||
|
||
```
|
||
规则:
|
||
✓ 始终能从安全处看清危险范围(无视觉遮挡)
|
||
✓ 靠近时有听觉提示(风声、嗡鸣、液体声)
|
||
✓ 坠落坑底均为即死,但坑宽至少 3u(避免误落)
|
||
✓ 强制落坑区域必须有足够的预备平台供玩家停下
|
||
✗ 禁止把即死危险隐藏在相机盲区外(禁止屏幕右侧的突然即死)
|
||
✗ 禁止即死危险与必过路线完全重叠(总有绕行或跳过的方法)
|
||
```
|
||
|
||
### 5.2 持续伤害危险(DamagePerSecond)
|
||
|
||
```
|
||
规则:
|
||
✓ 可以有 DoT 危险区域挡住可选路线(探索可绕开)
|
||
✓ DoT 区域穿越时间 ≤ 2 秒(按玩家最快移速计算,不能造成强制死亡)
|
||
✓ 出口前必须有一段无危险的安全区(落脚点)
|
||
✓ 液态 DoT 区域按 40_LiquidSwimSystem 规范配置
|
||
✗ 禁止 DoT 区域宽度 > 10u 且无跳跃中转点(必须能分段通过)
|
||
```
|
||
|
||
### 5.3 机关陷阱(Triggered Hazard)
|
||
|
||
```
|
||
规则:
|
||
✓ 触发前播放足够的视觉电报(见 19_BossPatternLibrary §5 电报系统)
|
||
✓ 摆锤/激光等循环机关,周期必须能被观察清楚(至少能看到 1.5 个完整周期)
|
||
✓ 复杂机关序列在第一次出现时,允许玩家安全观察而不触发死亡
|
||
✓ 压力板触发的陷阱,板块颜色/材质与周围地面明显不同
|
||
```
|
||
|
||
### 5.4 危险视觉规范
|
||
|
||
| 危险类型 | 视觉颜色 | Gizmo 颜色(Editor)|
|
||
|---------|---------|-------------------|
|
||
| 即死刺/锯刃 | 鲜红色血渍 + 高亮金属光泽 | 红色实心 60% 透明 |
|
||
| 酸液池 | 发光绿色液体 | 绿色半透明 |
|
||
| 熔岩区域 | 橙红色发光,流动粒子 | 橙红色半透明 |
|
||
| 毒雾区域 | 紫色半透明雾 | 紫色半透明 |
|
||
| 机关陷阱待机 | 灰色/暗色 | 黄色虚线框 |
|
||
| 机关陷阱激活 | 亮橙色/红色 | 红色实线框 |
|
||
|
||
---
|
||
|
||
## 6. 收集品与秘密房间
|
||
|
||
### 6.1 收集品分布密度
|
||
|
||
| 收集品类型 | 频率 | 位置 |
|
||
|-----------|------|------|
|
||
| Geo 碎片(SmallGeo)| 每个战斗房间 2–6 个 | 敌人击杀产生 |
|
||
| Geo 堆叠(Geo Cluster)| 每 2–3 个房间 1 个 | 略偏离主路线 |
|
||
| 血精(HealthOrb)| Boss / 精英击杀产生 | 无固定位置 |
|
||
| HP 容器 | 每区域 1–2 个 | 秘密房间或能力验证房间 |
|
||
| 魅力(Charm)| 每区域 1–3 个 | 商人购买 / 秘密房间 / Boss 掉落 |
|
||
| 地图钉点 | 随玩家探索自动生成 | — |
|
||
|
||
### 6.2 秘密房间设计规则
|
||
|
||
**密度**:每 6–8 个标准房间应有至少 1 个秘密入口。
|
||
|
||
**揭示层级**(暗示强弱):
|
||
|
||
| 层级 | 暗示方式 | 奖励大小 |
|
||
|------|---------|---------|
|
||
| **明显暗示** | 墙体材质不同,光照有差异 | 少量 Geo |
|
||
| **隐晦暗示** | 视差背景中可见另一区域,或音效传来 | 中等(Geo + 装备)|
|
||
| **无暗示** | 需要随机尝试或攻略指引 | 大奖(HP 容器 / 稀有 Charm)|
|
||
|
||
**禁止行为**:
|
||
- 秘密房间必须至少有 **1 层视觉暗示**(否则降级为彩蛋,不作为隐藏收集品计入完成度)
|
||
- 秘密入口触发后,必须在地图上标记(见 16_MapSystem §4)
|
||
|
||
### 6.3 假墙(FalseWall)与秘密通道
|
||
|
||
假墙实现见 `08_WorldSystem §9.8`。设计规则:
|
||
|
||
```
|
||
假墙设计三原则:
|
||
1. 外观暗示:墙体有细微色差、裂纹、或苔藓图案(与周围地形 90% 相似但 10% 有异)
|
||
2. 行为暗示:玩家靠近时轻微抖动(仅在玩家1u范围内)
|
||
3. 音效暗示:玩家攻击时有特殊空洞回声(而非实心撞击声)
|
||
```
|
||
|
||
---
|
||
|
||
## 7. 平台路径设计
|
||
|
||
### 7.1 跳跃难度分级
|
||
|
||
| 难度 | 描述 | 示例场景 |
|
||
|------|------|---------|
|
||
| **Easy** | 宽平台,充足准备时间,无压力源 | 初始区域,教学段 |
|
||
| **Normal** | 平台间距 3–5u,标准跳跃可达 | 游戏主体 |
|
||
| **Hard** | 需要精确跳跃+冲刺,允许少量容错 | 挑战区域,可选路线 |
|
||
| **Expert** | 多步连续精准跳跃,强制技巧 | 秘密房间、挑战房(39_ChallengeRoom)|
|
||
|
||
**每个区域主线路径难度上限**:
|
||
|
||
| 区域 | 主线难度上限 | 可选路线最高难度 |
|
||
|------|-----------|--------------|
|
||
| Forest | Easy | Hard |
|
||
| Cave | Normal | Expert |
|
||
| Ruins | Normal | Expert |
|
||
| Abyss | Hard | Expert |
|
||
| Core | Hard | Expert |
|
||
|
||
### 7.2 跳跃间距参数表
|
||
|
||
| 跳跃类型 | 最小间距 | 推荐间距 | 最大间距(含技巧)|
|
||
|---------|---------|---------|-----------------|
|
||
| 地面→地面(普通跳)| 1u | 3–5u | 6u |
|
||
| 地面→地面(冲刺跳)| 6u | 7–8u | 9u |
|
||
| 低台→高台(普通跳)| 高差 ≤ 3u | 高差 2–2.5u | 高差 4u |
|
||
| 低台→高台(双跳)| 高差 ≤ 6u | 高差 4–5u | 高差 7u |
|
||
| 墙跳连续 | 墙间距 3–4u | 3.5u | 5u |
|
||
|
||
### 7.3 移动平台设计规则
|
||
|
||
- **平台速度**:Easy = 1.5–2u/s,Normal = 2.5–3u/s,Hard = 4u/s(不超过 5u/s)
|
||
- **乘客空间**:平台宽度 ≥ 2u(玩家 0.8u + 容错 0.6u × 2)
|
||
- **停留时间**:端点等待 0.3–0.8s(见 `MovingPlatform._waitAtEndpoint`)
|
||
- **视野范围**:移动范围必须完整在玩家视野内,禁止平台运动到屏幕外
|
||
|
||
### 7.4 碎裂平台设计规则
|
||
|
||
```
|
||
碎裂平台使用限制:
|
||
✓ 首次出现时,旁边至少有一条无碎裂平台的安全路线(教学原则)
|
||
✓ 连续碎裂平台序列长度 ≤ 5 个(避免过长的惩罚性序列)
|
||
✓ 碎裂倒计时(_crumbleDelay)≥ 0.6s(玩家来得及反应)
|
||
✓ 必须有明显的碎裂视觉预告(颤抖动画 + 音效)
|
||
✗ 即死深渊上方的单一路径不可全用碎裂平台(必须混合稳定平台)
|
||
```
|
||
|
||
---
|
||
|
||
## 8. 房间连通性与地图图结构
|
||
|
||
### 8.1 地图图结构原则
|
||
|
||
类银河恶魔城地图本质是**有向图**:
|
||
|
||
```
|
||
区域图结构模式:
|
||
┌─ Forest ─────────────────────────────────────────────┐
|
||
│ Entry ──► 探索A ──► 探索B ──► 存档点 │
|
||
│ │ │ │
|
||
│ 支线A 精英战 ──► Boss 前室 │
|
||
│ │ │ │
|
||
│ 秘密房 ┌───────────▼ │
|
||
│ Boss 房(单向门) │
|
||
└─ ──────────────────────────────────────────────────── ┘
|
||
│
|
||
┌────────────▼
|
||
Cave Entry(新区域)
|
||
```
|
||
|
||
**连通性规则**:
|
||
|
||
| 规则 | 说明 |
|
||
|------|------|
|
||
| 无死角 | 每个支线房间最终都能回到主路线(不存在单向困死的分支)|
|
||
| 能力验证一致 | 进入某分支所需能力,必须比该分支奖励更早获得 |
|
||
| Boss 单向门 | 进入 Boss 房前可以撤退,但击败 Boss 后必须有新路线开通(不原路折返)|
|
||
| 存档点可达性 | 任意点到最近存档点的步行距离 ≤ 5 个房间 |
|
||
|
||
### 8.2 门类型与地图含义
|
||
|
||
| 门类型 | 外观 | 开通条件 | 地图显示 |
|
||
|--------|------|---------|---------|
|
||
| 普通连接门 | 无特殊装饰 | 无条件通过 | 普通走廊线 |
|
||
| 能力门(AbilityGate)| 符文纹路障碍 | 玩家持有指定能力 | 灰色虚线直到解锁 |
|
||
| Boss 锁门(ProgressLock)| 大型石质封印 | 对应区域 Boss 已击败 | 锁头图标 |
|
||
| 单向门(OneWay)| 仅一侧有把手 | 仅能从一侧打开 | 带箭头方向 |
|
||
| 商人门 | 货物箱子装饰 | 无条件 | 购物袋图标 |
|
||
|
||
### 8.3 房间命名与资产命名规范
|
||
|
||
```
|
||
场景命名:Room_{Region}_{Index}_{Optional Variant}
|
||
示例:Room_Forest_01、Room_Cave_03_Dark、Boss_Forest
|
||
|
||
SpawnPoint ID:SP_{Region}_{RoomIndex}_{Direction}
|
||
示例:SP_Forest_01_East、SP_Cave_03_Entry
|
||
|
||
Transition 连接规范:
|
||
RoomA 的 East 出口 → RoomB 的 West 入口(方向互补)
|
||
RoomA._targetScene = "Room_Cave_01"
|
||
RoomB._targetScene = "Room_Forest_03"(对应返回)
|
||
```
|
||
|
||
---
|
||
|
||
## 9. 视觉叙事与环境氛围
|
||
|
||
### 9.1 环境叙事分层
|
||
|
||
无需对话或文字的叙事手段:
|
||
|
||
| 层次 | 手段 | 示例 |
|
||
|------|------|------|
|
||
| 近景装饰(Foreground)| 场景道具、遗迹碎片 | 废弃武器→曾有战斗发生 |
|
||
| 中景地形(Level Geometry)| 建筑风格、破损程度 | 坍塌的石柱→昔日繁华 |
|
||
| 背景叙事(Background)| 远景元素、光照 | 背景中的城市轮廓→世界格局 |
|
||
| 动态元素(Dynamic)| 飘落的灰烬、流动的液体 | 传递区域的"活力" |
|
||
| 遗迹遗骸(Lore Object)| 可交互的文字石碑/骨骸 | 直接文字叙事(最后手段)|
|
||
|
||
### 9.2 区域氛围参数
|
||
|
||
每个区域有统一的"氛围参数套":
|
||
|
||
| 区域 | 主色调 | 光照强度 | 天花板距离 | 氛围粒子 |
|
||
|------|--------|---------|-----------|---------|
|
||
| Forest | 绿橙 | 中等 | 开放 | 飘落树叶 |
|
||
| Cave | 蓝紫黑 | 低 | 压迫感低天花板 | 石屑、霉菌孢子 |
|
||
| Ruins | 灰棕金 | 中等,斜光 | 高穹顶 | 灰烬微粒 |
|
||
| Abyss | 黑蓝白 | 极低(星点光源)| 无限垂直 | 上升风尘 |
|
||
| Core | 暗红橙 | 高(熔岩光)| 中等 | 灰烬、火花 |
|
||
|
||
### 9.3 视觉引导技巧
|
||
|
||
```
|
||
主路线引导(不使用 UI 标记):
|
||
- 光源(Torch/Lamp)沿主路线方向分布
|
||
- 主路线地面有轻微磨损纹理,支线地面干净
|
||
- 主路线天花板高度高于支线(更"开阔"=主要路线感)
|
||
- 重要道具/能力附近有光柱效果(区域级 Light2D)
|
||
|
||
死路标志:
|
||
- 终点有明显的视觉"收紧"(天花板降低、墙面靠近)
|
||
- 奖励物品(Geo/Charm)放在死路终点,给予探索正反馈
|
||
- 禁止无意义的死路(死路必须有奖励或叙事内容)
|
||
```
|
||
|
||
---
|
||
|
||
## 10. Tileset 使用规范
|
||
|
||
### 10.1 Sprite 导入设置
|
||
|
||
| 参数 | 规范值 | 说明 |
|
||
|------|--------|------|
|
||
| Pixels Per Unit (PPU) | 16 | 全项目统一 |
|
||
| Filter Mode | Point (No Filter) | 像素风格,禁止 Bilinear |
|
||
| Compression | None | 像素精确,禁止有损压缩 |
|
||
| Sprite Mode | Multiple(图集)| 同区域 Tile 打包同一图集 |
|
||
| Generate Mip Maps | ❌ 关闭 | 2D 像素不需要 Mip Map |
|
||
|
||
### 10.2 Tilemap 层级规范
|
||
|
||
```
|
||
场景 Tilemap 层级(上到下 = 前到后):
|
||
Tilemap_Foreground → SortingLayer: Foreground → 无碰撞,覆盖在角色前
|
||
Tilemap_Ground → SortingLayer: Ground → 主碰撞地面
|
||
Tilemap_OneWay → SortingLayer: Platform → OneWayPlatform + PlatformEffector2D
|
||
Tilemap_Destructible → SortingLayer: Ground → 可破坏地形(Intact 态同 Ground)
|
||
Tilemap_Background → SortingLayer: Background → 无碰撞背景装饰
|
||
Tilemap_BackBackground → SortingLayer: FarBackground → 视差背景(最远层)
|
||
```
|
||
|
||
### 10.3 自动 Tile 规则(Rule Tile)
|
||
|
||
每个区域提供标准 Rule Tile 资产(`Assets/Art/Tilesets/{Region}/RuleTile_{Region}_Ground.asset`),具备:
|
||
- 自动角落连接(16 方向规则)
|
||
- 边缘过渡 Tile(与相邻区域 Tileset 衔接)
|
||
- 随机装饰 Tile 变体(每 10 块中有 1–2 块变体,增加变化感)
|
||
|
||
### 10.4 碰撞体规范
|
||
|
||
```
|
||
碰撞设置:
|
||
✓ TilemapCollider2D + CompositeCollider2D(合并碰撞体,减少物理开销)
|
||
✓ PhysicsShape 为 Rectangle(避免三角/多边形不必要的复杂度)
|
||
✓ 地面坡面角度 ≤ 45°(超过 45° 视为墙面,不允许行走)
|
||
✗ 禁止单个 Tile 独立 Collider(必须用 CompositeCollider2D 合并)
|
||
```
|
||
|
||
---
|
||
|
||
## 11. 关卡搭建 SOP
|
||
|
||
### 11.1 新建房间流程
|
||
|
||
```
|
||
1. 复制房间模板场景 Room_Template.unity
|
||
2. 重命名为 Room_{Region}_{Index}.unity
|
||
3. 修改 Tilemap 层填充地形
|
||
4. 配置 RoomCameraBounds(PolygonCollider2D)
|
||
5. 放置 SpawnPoint(每个入口各一个)
|
||
6. 配置 RoomTransition 组件(连接到目标场景 + SpawnPoint ID)
|
||
7. 放置 NavSurface 并设置 NavLink(用于敌人寻路)
|
||
8. 放置敌人(从 EnemyPrefab 目录拖入)
|
||
9. 配置 AudioZone(绑定区域 BGM,见 12_AudioSystem)
|
||
10. 注册到 RegionDefinitionSO.roomSceneNames[]
|
||
11. 标记为 Addressable,分配到对应 Group(见 43_AddressablesWorkflow)
|
||
12. 运行 关卡验收清单(§12)
|
||
```
|
||
|
||
### 11.2 新建区域流程
|
||
|
||
```
|
||
1. 创建 RegionDefinitionSO.asset(Assets/ScriptableObjects/Progression/Regions/)
|
||
2. 建立区域文件夹 Assets/Scenes/{Region}/
|
||
3. 创建所有房间场景(按 §11.1 流程)
|
||
4. 创建 Boss 场景(Boss_{Region}.unity)
|
||
5. 配置 ProgressLock(链接前一区域的 Boss 击败条件)
|
||
6. 配置 AbilityGate(如需能力解锁才能进入)
|
||
7. 添加新区域到 RegionDefinitionSO 数组
|
||
8. 配置地图颜色(MapSystem 颜色规范)
|
||
9. 配置区域 BGM(12_AudioSystem §3)
|
||
10. 更新 14_ProgressionSystem 的区域顺序表(文档同步)
|
||
```
|
||
|
||
### 11.3 编辑器工具
|
||
|
||
通过 `菜单 → BaseGames/LevelDesign/` 访问:
|
||
|
||
| 工具 | 功能 |
|
||
|------|------|
|
||
| **Room Validator** | 检查房间完整性(SpawnPoint/Transition/NavSurface 完整性)|
|
||
| **Connection Inspector** | 可视化查看所有房间的 Transition 连接关系 |
|
||
| **Collectible Density View** | 在 Scene 视图中热图显示当前房间收集品密度 |
|
||
| **Enemy Coverage View** | 显示敌人视野/巡逻范围覆盖热图 |
|
||
| **NavLink Validator** | 检查 NavLink 是否全部连接且无孤立节点 |
|
||
|
||
---
|
||
|
||
## 12. 关卡验收清单
|
||
|
||
房间提交 PR 前必须确认所有项目:
|
||
|
||
### 功能性检查
|
||
|
||
```
|
||
[ ] 所有 SpawnPoint 均有唯一 ID,且与 RoomTransition 配对正确
|
||
[ ] 所有 RoomTransition 目标场景存在且 SpawnPoint ID 有效
|
||
[ ] RoomCameraBounds 覆盖整个房间,无边界穿出现象
|
||
[ ] NavSurface 已烘焙,NavLink 全部有效(NavLink Validator 无错误)
|
||
[ ] 所有敌人 Prefab 引用有效(无 Missing Reference)
|
||
[ ] AudioZone 配置正确(区域 BGM 和环境音)
|
||
[ ] Addressable 已标记,Group 分配正确(43_AddressablesWorkflow §11)
|
||
[ ] 场景已注册到 RegionDefinitionSO.roomSceneNames[]
|
||
```
|
||
|
||
### 游戏体验检查(需实际运行测试)
|
||
|
||
```
|
||
[ ] 主路线可在不使用任何特殊能力的情况下通关(若房间在能力获取前)
|
||
[ ] 所有危险区域在接触前有清晰的视觉/听觉提示
|
||
[ ] 不存在摄像机能看到房间外(黑边)的视角
|
||
[ ] 所有平台跳跃均可使用当前进程阶段的能力完成
|
||
[ ] 不存在玩家无法逃脱的陷阱/区域(无陷门困死)
|
||
[ ] 存档点触发动画正常播放
|
||
[ ] 所有 Collectible 可正常拾取并记录到 SaveData
|
||
[ ] 房间重进后持久化物件状态正确恢复
|
||
```
|
||
|
||
### 性能检查
|
||
|
||
```
|
||
[ ] 同屏敌人数 ≤ 6(见 §4.1 密度规范)
|
||
[ ] 同屏粒子数 ≤ 500(见 27_PerformanceBudgetGuide §5)
|
||
[ ] Tilemap 合并碰撞体已使用 CompositeCollider2D
|
||
[ ] 不存在运行时 Instantiate(仅允许对象池)
|
||
[ ] 在目标设备上稳定 60fps(见 27_PerformanceBudgetGuide §3)
|
||
```
|
||
|
||
### 叙事/氛围检查
|
||
|
||
```
|
||
[ ] 房间氛围与所属区域一致(颜色/光照/粒子规范见 §9.2)
|
||
[ ] 所有装饰道具不遮挡玩家判定体(可用 Gizmos 模式验证)
|
||
[ ] 死路均有奖励或叙事内容(无空洞死路)
|
||
[ ] 若含首次引入的新敌人,有"认识→理解→挑战"三步曝光(§4.4)
|
||
```
|
||
|
||
---
|
||
|
||
*文档版本 1.0 · 2026*
|