Files
zeling_v2/Docs/Game/敌人/Boss/嘲风.md
T
joywayerandClaude Opus 4.8 b4379db5de docs(game): 建立游戏设计文档规范并迁移重写 Docs/Game 设计文档
- 新增 Docs/Standards/GameDesignDocSpec.md:目录结构/通用文档头/六类分节/命名编号/交叉引用/禁参考游戏字样
- Docs/Game 按类别重组:总览/主角/敌人(小怪+Boss)/NPC/系统/剧情 + _Templates 模板
- 小怪 E001-E006、嘲风:程序文档+动作需求表合并为单份综合文档
- 其余 7 Boss 迁移设计层内容,程序/动画/数值节标注待补充
- 主角能力设定清除全部外部游戏参考字样并修正 OCR 乱码
- 删除 参考/ 原始文档(已忠实重写,原件保留于 git 历史)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 15:42:33 +08:00

360 lines
19 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.
# 嘲风 · 凤仙山的隐忍导师
| 项 | 值 |
|------|------|
| 文档类型 | Boss |
| 版本 | v1.0 |
| 更新日期 | 2026-07-21 |
| 状态 | 进行中 |
| 负责模块 | `BaseGames.Enemies.AI` / Boss 状态机 / `ENM_` 资产 |
| 关联文档 | [Boss总览](Boss总览.md) · [主角能力设定 · 天魂](../../主角/主角能力设定.md#形态与技能) |
---
## 概述
| 项目 | 内容 |
|------|------|
| 名号 | 嘲风 |
| 排行 | 龙三子(始龙和凤之子) |
| 大地图 | 凤仙山 |
| Boss 区域 | 山顶·嘲风道场 |
| 外貌 | 白衣人形,面容斯文,手持折扇 |
| 掌管能力 | 天魂 → 裂空掌 |
| 背景设定 | 掌管凤仙山,因愧疚情绪被所掌管的黑麒麟天魂碎片侵蚀了神智 |
| 定位 | 以折扇为武器的双阶段 Boss:阶段一地面近远程扇技,阶段二升空施放风石并引入「击落」机制 |
---
## 战斗设计
- **战斗阶段数:2 个阶段。**
- **阶段切换条件**:HP 降至阈值(建议策划配置,参考值 50%)。
- **阶段一(地面战)**:地面移动,使用折扇进行近远程攻击,节奏明快,考验走位与近身时机。
- **阶段二(空中战)**:升空漂浮施放风石,新增**击落系统**——玩家需在空中攻击嘲风累计到阈值将其击落,制造地面硬直输出窗口,形成"逼其落地→集火"的循环。
- **玩家应对**:阶段一注意龙卷弹道与三连近身;阶段二把握风石落点预判,抓住空中攻击累计击落的节奏。
---
## 阶段系统
### 阶段一(Phase 1)— 地面战
- 嘲风在地面移动、使用扇子进行近远程攻击。
- 可用技能:回旋扇、挥扇三连、小龙卷、大龙卷。
- 结束条件:HP ≤ 切换阈值 → 触发 `PhaseTransition` 动画。
### 阶段二(Phase 2)— 空中战
- 嘲风漂浮至空中,使用风石技能;程序负责垂直位移(漂浮高度),动画只做原地浮动姿态。
- 新增机制:**击落系统**(玩家在空中攻击嘲风达到计数阈值 → 触发击落)。
- 击落后进入地面硬直窗口 → 恢复漂浮 → 继续循环。
- ⚠️ **待策划确认**Phase 2 是否仍可使用 Phase 1 的回旋扇/小龙卷/大龙卷等技能?当前文档按"Phase 2 仅用风石"处理。
---
## 状态机与 AI
```
══════════════════════ 战斗前 ══════════════════════
[Dialogue_Idle] ──战斗触发──▶ [Appear]
│ 播放完毕
══════════════════════ Phase 1 ══════════════════════
[P1_Idle]
│ AI 决策
┌───────────────────┼────────────────────┐
▼ ▼ ▼
[P1_Move] [Skill_Boomerang_Start] [Skill_FanCombo]
│ ──▶ [Skill_Boomerang_Loop] │
│ ──▶ [Skill_Boomerang_End] │
│ [Skill_TornadoSmall]
│ [Skill_TornadoLarge]
└──────────────────▶[P1_Idle]◀───────────┘
HP ≤ 阶段阈值(任意 Phase 1 状态均可触发)
└──▶ [PhaseTransition] ──浮空完成──▶ 进入 Phase 2
注:切换瞬间强制终止当前技能(如回旋扇弹道立即销毁)
══════════════════════ Phase 2 ══════════════════════
[P2_Idle_Float]
│ AI 决策
┌─────────────┴──────────────┐
▼ ▼
[Skill_WindStone_Charge] [P2_Idle_Float]CD冷却中)
[Skill_WindStone_Loop]
[Skill_WindStone_Release] ──▶ [P2_Idle_Float]
Phase 2 任意状态:hitCount ≥ 阈值 ──▶ [Knockdown_Hit](打断当前动作)
[Fall_Down]
│ 落地
[Stagger](复用 Defeat_Pant 动画Clip
│ 硬直结束
[FloatUp] ──▶ [P2_Idle_Float]
hitCount 重置为 0
══════════════════════ 击败流程(任意阶段 HP 归零)══════════════════════
[Defeat_Struggle] ──挣扎结束──▶ [白屏特效] ──▶ [Defeat_Pant] ──▶ [Defeat_StandUp]
```
### 状态列表
**战斗前**
| 状态 | 标识符 | 动画 Clip 名 | 动画类型 | 说明 |
|------|--------|-------------|----------|------|
| 剧情待机 | Dialogue_Idle | Dialogue_Idle | 循环 | 战斗前剧情对话时的站立待机 |
| 登场 | Appear | Appear | 单次 | 捂脸喘息后爆发吼叫;结束后进入 P1_Idle |
**Phase 1**
| 状态 | 标识符 | 动画 Clip 名 | 动画类型 | 说明 |
|------|--------|-------------|----------|------|
| 战斗待机 | P1_Idle | P1_Idle | 循环 | 折扇在胸前优雅扇风 |
| 移动 | P1_Move | P1_Move | 循环 | 快速踱步,向玩家方向靠近 |
| 回旋扇发生 | Skill_Boomerang_Start | Skill_Boomerang_Start | 单次 | 向前投掷折扇(手中扇子消失,程序生成弹道) |
| 回旋扇持续 | Skill_Boomerang_Loop | Skill_Boomerang_Loop | 循环 | 手伸出等待扇子飞回 |
| 回旋扇收尾 | Skill_Boomerang_End | Skill_Boomerang_End | 单次 | 接回扇子(手中出现扇子) |
| 挥扇三连 | Skill_FanCombo | Skill_FanCombo | 单次 | 三连近身攻击(第 1、2 击挥舞,第 3 击旋转身体后用扇子捅刺) |
| 小龙卷 | Skill_TornadoSmall | Skill_TornadoSmall | 单次 | 由内向外挥扇,召唤左右两道小龙卷 |
| 大龙卷 | Skill_TornadoLarge | Skill_TornadoLarge | 单次 | 单手举高挥扇,在玩家当前位置召唤细长龙卷 |
**阶段切换**
| 状态 | 标识符 | 动画 Clip 名 | 动画类型 | 说明 |
|------|--------|-------------|----------|------|
| 转二阶段 | PhaseTransition | PhaseTransition | 单次 | 周围气流爆发,身体漂浮升空;**垂直位移由程序 Tween 控制,动画只做原地姿态** |
**Phase 2**
| 状态 | 标识符 | 动画 Clip 名 | 动画类型 | 说明 |
|------|--------|-------------|----------|------|
| 空中待机 | P2_Idle_Float | P2_Idle_Float(需美术专门制作) | 循环 | 漂浮在空中;⚠️ 需策划确认是否复用 Phase 1 待机动画 |
| 风石蓄力 | Skill_WindStone_Charge | Skill_WindStone_Charge | 单次 | 收拢扇子并单手举高 |
| 风石引导 | Skill_WindStone_Loop | Skill_WindStone_Loop | 循环 | 手举高扇子引导施法;此帧特效引导线**实时追踪**玩家位置 |
| 风石发生 | Skill_WindStone_Release | Skill_WindStone_Release | 单次 | 用力挥下扇子;**落点在 Loop→Release 切换瞬间锁定** |
| 空中受击 | Knockdown_Hit | Knockdown_Hit | 单次 | 被击中足够次数后在空中的明显受击;**打断当前任意 Phase 2 状态** |
| 掉落 | Fall_Down | Fall_Down | 循环 | 从空中向下掉落;**垂直位移由程序控制,动画只做原地姿态** |
| 落地硬直 | Stagger | Defeat_Pant(复用,同一 Clip) | 循环 | 跪地喘息,可受击窗口;**直接复用击败流程 Defeat_Pant 同一动画 Clip** |
| 浮起 | FloatUp | —(可无专用动画) | — | 程序控制漂浮回空中,hitCount 重置为 0 |
**击败流程**
| 状态 | 标识符 | 动画 Clip 名 | 动画类型 | 说明 |
|------|--------|-------------|----------|------|
| 挣扎 | Defeat_Struggle | Defeat_Struggle | 循环 | HP 归零触发,僵直挣扎,身上黑气向外消散,持续固定时间 |
| 白屏特效 | — | — | — | 程序触发全屏白色闪光,衔接后续动画 |
| 喘息跪地 | Defeat_Pant | Defeat_Pant | 循环 | 白屏结束后单膝跪地喘息 |
| 站起 | Defeat_StandUp | Defeat_StandUp | 单次 | 从跪地过渡到站立(衔接后续剧情/结算) |
### AI 决策逻辑
**Phase 1 决策循环**
```
[P1_Idle](决策节点,每次技能结束后回到此处)
├── 检测玩家位置与距离
│ ├── 玩家距离 > 近战阈值 → P1_Move(靠近)
│ └── 玩家在攻击范围内 → 技能选择
└── 技能选择(基于 CD 轮转 + 随机权重,建议策划配置)
├── 回旋扇(Boomerang):中远距离;向前投掷弹道
├── 挥扇三连(FanCombo):近距离;三段近程
├── 小龙卷(TornadoSmall):任意距离;对称双侧弹道
└── 大龙卷(TornadoLarge):中远距离;玩家当前位置落点
注:玩家跳跃到身后时插入朝向检测 → 翻转 Sprite,无需专用转身动画(Phase 1)
```
**Phase 2 决策循环**
```
[P2_Idle_Float](漂浮待机)
├── 风石 CD 未冷却 → 保持漂浮
└── 风石 CD 冷却完毕 → Skill_WindStone_Charge → Loop → Release
同时:
每帧检测玩家是否在空中 → 开放空中受击计数
玩家空中攻击命中嘲风 → hitCount++
hitCount ≥ knockdownThreshold → 触发击落流程(详见特殊机制)
```
---
## 技能规格
### Skill_Boomerang — 回旋扇
| 字段 | 值 |
|------|------|
| 技能类型 | 投掷弹道(往返) |
| 弹道对象 | 程序生成扇子弹道(动画手中扇子消失,弹道独立 GameObject |
| 飞行方向 | 向前水平飞出,到达最远距离或边界后原路返回 |
| 速度 | 可配置(去程速度 / 回程速度) |
| 伤害判定 | 去程 + 回程均造成伤害,每段触发一次(同一玩家不重复计算) |
| 回程结束 | 扇子飞回嘲风手中 → 触发 Skill_Boomerang_End 动画(手中出现扇子) |
| 扇子旋转特效 | ⚠️ 需美术提供**独立旋转动画资源**;弹道 GameObject 挂载此 Animation Clip 循环播放,非纯程序旋转 |
### Skill_FanCombo — 挥扇三连
| 字段 | 值 |
|------|------|
| 技能类型 | 近程三段连击 |
| 攻击段数 | 3 段(第 1、2 段挥舞扇子;第 3 段旋转身体后用扇子捅刺) |
| 每段伤害 | 可独立配置(第 3 段建议伤害略高) |
| 攻击范围 | 前方扇形/矩形碰撞盒,各段可配置不同尺寸;⚠️ 第 3 段"旋转身体"是否覆盖身后攻击范围,需策划确认是否开启后方碰撞盒 |
| 中断逻辑 | 连击为单次动画,不可中断;受击时无打断效果(Boss 无打断) |
### Skill_TornadoSmall — 小龙卷
| 字段 | 值 |
|------|------|
| 技能类型 | 对称双侧飞行弹道 |
| 生成数量 | 2 个(左右各 1,以嘲风为中心同时生成) |
| 弹道方向 | 向左 / 向右水平飞出 |
| 形状 | 倒三角形(宽底在上,尖端在下) |
| 特性 | **玩家可跳跃越过**(碰撞盒高度不超过玩家起跳高度,建议策划配置高度) |
| 速度 | 可配置 |
| 伤害判定 | 飞行途中持续判定,建议间隔帧触发(避免帧率影响) |
### Skill_TornadoLarge — 大龙卷
| 字段 | 值 |
|------|------|
| 技能类型 | 定点召唤持续伤害区域 |
| 落点 | **玩家施法时当前位置**(动画起手帧锁定玩家坐标) |
| 形状 | 细长柱状(上下等宽,区别于小龙卷) |
| 持续时间 | 可配置 |
| 伤害判定 | 存在期间持续判定 |
| 警示机制 | 建议在召唤前于落点显示预警特效(策划确认是否需要) |
### Skill_WindStone — 风石(Phase 2 专属)
| 字段 | 值 |
|------|------|
| 技能类型 | 追踪引导 → 定点落体 |
| 引导阶段 | Skill_WindStone_Loop 期间,特效引导线实时追踪玩家位置 |
| 落点锁定 | 引导结束(Skill_WindStone_Release 帧)时锁定玩家当前位置 |
| 落下对象 | 巨大风石 GameObject,程序控制下落速度 |
| 落地效果 | 砸地冲击波范围伤害 + 震动反馈 |
| 伤害判定 | 落地帧触发圆形范围判定(半径可配置) |
| 引导时长 | 可配置(引导时间越长给玩家预判越多) |
---
## 特殊机制
### 阶段切换机制
```
触发条件:HP ≤ PhaseThreshold(百分比,策划配置)
流程:
1. 强制终止当前技能,进入 PhaseTransition 状态
2. 播放气流爆发特效
3. 程序 Tween 控制嘲风 Y 轴位移(从地面升至空中高度 H)
4. 动画播放原地漂浮姿态
5. 达到目标高度后切换至 P2_Idle_Float,激活 Phase 2 AI
注:阶段切换期间嘲风无敌(关闭受击碰撞盒)
```
### 击落机制(Phase 2
```
条件:玩家在空中(isGrounded == false)攻击命中嘲风
计数:hitCount 累计(不限攻击方式)
阈值:knockdownThreshold(策划配置,建议 510 次)
触发后:
1. 播放 Knockdown_Hit 动画(嘲风空中受击)
2. 程序控制嘲风 Y 轴下落(Tween 或物理)
3. 落地时播放 Fall_Down 动画(原地)
4. 进入 Stagger(硬直可受击窗口,时长策划配置)
5. 硬直结束 → 程序控制嘲风浮回空中
6. hitCount 重置为 0
注:
- 落地后 Stagger 期间为脆弱窗口,不执行任何技能
- hitCount 重置时机:浮回空中完成后(非击落完成后)
- ⚠️ 待确认:击落计数是否可以打断 Skill_WindStone 施法中的嘲风?
- 方案 A:打断(阈值高优先级,任意时机生效)—— 当前文档采用
- 方案 B:不打断(风石期间屏蔽计数,施法后再检测)
```
### 一般受击
- Phase 1:无专用受击动画,建议通用 Hit Flash + 镜头轻微抖动;策划可确认是否额外添加 Boss 专用受击动作。
- Phase 2 空中:普通攻击命中累计计数,不打断技能(仅计数)。
---
## 动画需求
| 动作类别 | 命名 | 动画类型 | 描述 | 帧数 | 图片参考 |
|----------|------|----------|------|------|----------|
| 剧情对话 | Dialogue_Idle | 循环 | 进入战斗前的站立待机,用于剧情对话 | — | — |
| 登场 | Appear | 单次 | 持续捂脸喘息后全身爆发吼叫 | — | — |
| 待机 | P1_Idle | 循环 | 战斗待机,折扇在胸前优雅扇风 | — | — |
| 移动 | P1_Move | 循环 | 快速踱步接近玩家 | — | — |
| 回旋扇发生 | Skill_Boomerang_Start | 单次 | 将扇子向前扔出,扇子弹道单独制作原地旋转动画;嘲风做完动作后手中扇子消失,弹道由程序生成 | — | — |
| 回旋扇持续 | Skill_Boomerang_Loop | 循环 | 保持扔出动作,手持续伸出准备接住回旋的扇子 | — | — |
| 回旋扇收尾 | Skill_Boomerang_End | 单次 | 收回飞回来的扇子,手中出现扇子 | — | — |
| 挥扇三连 | Skill_FanCombo | 单次 | 收拢扇子近身三连击,第 1、2 击挥舞,第 3 击旋转身体后用扇子捅刺 | — | — |
| 小龙卷 | Skill_TornadoSmall | 单次 | 由内向外挥扇,召唤两道小型龙卷风(倒三角形,可跳跃越过)从身体左右飞出 | — | — |
| 大龙卷 | Skill_TornadoLarge | 单次 | 单手举高挥扇,在玩家当前位置召唤一道细长龙卷风(上下同宽) | — | — |
| 转二阶段 | PhaseTransition | 单次 | 低血量转阶段,周围爆发气流,身体漂浮升空(动作只做原地漂浮,上下位移由程序控制) | — | — |
| 风石蓄力 | Skill_WindStone_Charge | 单次 | 收拢扇子并单手举高 | — | — |
| 风石引导 | Skill_WindStone_Loop | 循环 | 保持手高举扇子引导施法(技能特效引导线追踪玩家) | — | — |
| 风石发生 | Skill_WindStone_Release | 单次 | 用力挥下折起的扇子,巨大风石落下 | — | — |
| 击落 | Knockdown_Hit | 单次 | 二阶段玩家空中击中足够次数后,嘲风在空中的明显受击 | — | — |
| 掉落 | Fall_Down | 循环 | 从空中掉落(动作只做原地,上下位移由程序控制) | — | — |
| 硬直 | Stagger | 循环 | 击落后的跪地喘息,复用击败后的喘息跪地动作 | — | — |
| 被击败挣扎 | Defeat_Struggle | 循环 | 被击败前的僵直挣扎,持续一段时间,身上黑气向外消散(随后衔接白屏特效) | — | — |
| 喘息 | Defeat_Pant | 循环 | 白屏过后单膝跪地喘息 | — | — |
| 站起 | Defeat_StandUp | 单次 | 从跪地过渡到站起 | — | — |
---
## 数值参数表
| 参数名 | 说明 | 默认值(待确认) |
|--------|------|------------------|
| `phaseThreshold` | 阶段切换 HP 百分比 | 50% |
| `knockdownThreshold` | 触发击落所需空中命中次数 | 8 |
| `staggerDuration` | 落地硬直时长(秒) | 3.0 |
| `boomerangSpeed` | 回旋扇飞行速度 | — |
| `boomerangMaxRange` | 回旋扇最远飞行距离 | — |
| `tornadoSmallSpeed` | 小龙卷飞行速度 | — |
| `tornadoSmallHeight` | 小龙卷碰撞盒高度(玩家可跳越) | — |
| `tornadoLargeDuration` | 大龙卷持续时间(秒) | — |
| `windStoneGuideTime` | 风石引导时长(秒) | — |
| `windStoneImpactRadius` | 风石落地冲击范围半径 | — |
| `floatHeight` | Phase 2 漂浮高度(场景单位) | — |
| `floatRiseDuration` | 升空动画时长(秒) | — |
| `floatFallDuration` | 击落后坠落时长(秒) | — |
---
## 技术备注
1. **位移控制分离**PhaseTransition 升空、Fall_Down 坠落、FloatUp 浮起均由程序 Tween(建议 DOTween)控制 Y 轴位移;Animator 只控制姿态,不含位移曲线。
2. **弹道生成**
- 回旋扇:在 Skill_Boomerang_Start 的"扇子离手"帧(AnimationEvent)实例化弹道,同帧关闭嘲风手部扇子 Sprite。
- 小/大龙卷:在技能发生帧(AnimationEvent)于指定位置 Spawn 龙卷 GameObject。
3. **技能 CD 与权重**:所有技能的冷却时间、选择权重统一放入 `BossDataSO`,禁止硬编码。
4. **阶段 HP 阈值**:在 `BossHealthComponent` 注册事件,HP 到阈值时广播 `OnPhaseChanged(2)`,由状态机监听处理。
5. **击败流程锁定**:进入 `Defeat_Struggle` 后关闭所有 AI、受击碰撞盒,直到 `Defeat_StandUp` 播放完毕再派发 `BossDefeated` 事件。
6. **剧情衔接**`Appear``Defeat_StandUp` 动画结束后通过事件系统(`BaseGames.Core.Events`)通知剧情系统,不在 Boss 本体内耦合剧情逻辑。
7. **音效/特效调用**:所有音效和特效均通过 AnimationEvent 调用,事件参数传 key 字符串,由 VFXManager / AudioManager 统一管理。
---
## 修订记录
| 版本 | 日期 | 修改内容 | 修改人 |
|------|------|----------|--------|
| 1.0 | 2026-07-21 | 由《BOSS设计文档》《Boss设计-程序开发文档-01》《Boss设计-动作需求表-01》合并为综合文档 | — |