# 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*