Files
zeling_v2/Docs/Game/Design/Boss设计-程序开发文档-01.md
Joywayer f74d7f1877 Add independent review reports for Minimap system (Rounds 8, 9, and 26)
- Round 8 report highlights improvements in architecture, editor usability, and data robustness, with a total score of 80/100.
- Round 9 report focuses on editor extension capabilities, identifying issues with room data indexing and layout editing, resulting in a score of 76/100.
- Round 26 report evaluates the system against commercial standards, noting new issues and confirming previous fixes, with a score of 95.8/100.
2026-05-25 23:15:12 +08:00

19 KiB
Raw Blame History

Boss 设计 — 程序开发文档 01

依据《Boss设计-动作需求表-01》整理供程序端实现参考。
包含状态机、阶段系统、AI 行为逻辑、技能规格、特殊机制说明。


目录


嘲风 — 概述

字段 内容
角色名称 嘲风
类别 BOSS
背景设定 龙九子之三,始龙和凤之子,掌管凤仙山,因愧疚情绪被黑麒麟天魂碎片侵蚀神智
战斗阶段数 2 个阶段
阶段切换条件 HP 降至阈值建议策划配置参考值50%
主要武器 折扇
行动方式 阶段一:地面移动;阶段二:空中漂浮(位移由程序控制)

阶段系统

阶段一Phase 1— 地面战

  • 嘲风在地面移动、使用扇子进行近远程攻击
  • 可用技能:回旋扇、挥扇三连、小龙卷、大龙卷
  • 结束条件HP ≤ 切换阈值 → 触发 PhaseTransition 动画

阶段二Phase 2— 空中战

  • 嘲风漂浮至空中,使用风石技能
  • 程序负责垂直位移(漂浮高度);动画只做原地浮动姿态
  • 新增机制:击落系统(玩家在空中攻击嘲风达到计数阈值 → 触发击落)
  • 击落后进入地面硬直窗口 → 恢复漂浮 → 继续循环
  • ⚠️ 待策划确认Phase 2 是否仍可使用 Phase 1 的回旋扇/小龙卷/大龙卷等技能?当前文档按"Phase 2 仅用风石"处理。

状态机总览

══════════════════════ 战斗前 ══════════════════════
[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]

状态列表

战斗前

状态 标识符 动画类型 说明
剧情待机 Dialogue_Idle 循环 战斗前剧情对话时的站立待机动作
登场 Appear 单次 捂脸喘息后爆发吼叫;结束后进入 P1_Idle

Phase 1

状态 标识符 动画类型 说明
战斗待机 P1_Idle 循环 折扇在胸前优雅扇风
移动 P1_Move 循环 快速踱步,向玩家方向靠近
回旋扇发生 Skill_Boomerang_Start 单次 向前投掷折扇(手中扇子消失,程序生成弹道)
回旋扇持续 Skill_Boomerang_Loop 循环 手伸出等待扇子飞回
回旋扇收尾 Skill_Boomerang_End 单次 接回扇子(手中出现扇子)
挥扇三连 Skill_FanCombo 单次 三连近身攻击第1、2击为挥舞动作第3击为旋转身体后用扇子捅刺
小龙卷 Skill_TornadoSmall 单次 由内向外挥扇,召唤左右两道小龙卷
大龙卷 Skill_TornadoLarge 单次 单手举高挥扇,在玩家当前位置召唤细长龙卷

阶段切换

状态 标识符 动画类型 说明
转二阶段 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可无专用动画

击败流程

状态 标识符 动画类型 说明
挣扎 Defeat_Struggle 循环 HP 归零触发,僵直挣扎,身上黑气向外消散,持续固定时间
白屏特效 程序触发全屏白色闪光,衔接后续动画
喘息跪地 Defeat_Pant 循环 白屏结束后单膝跪地喘息
站起 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_Charge/Loop/Release 施法中的嘲风?
    - 方案 A打断hitCount 阈值高优先级,任意时机生效)
    - 方案 B不打断Skill_WindStone 期间屏蔽计数,施法后再检测)
    - 当前文档按"方案 A任意状态均可打断"处理,如需方案 B 请通知程序

嘲风受击(一般)

  • Phase 1正常受击动画需求表无专用受击动画,建议通用 Hit Flash + 镜头轻微抖动;策划可确认是否额外添加 Boss 专用受击动作)
  • Phase 2 空中:普通攻击命中累计计数,不打断技能(攻击不影响技能流程,仅计数)

技术备注

  1. 位移控制分离PhaseTransition 升空、Fall_Down 坠落、FloatUp 浮起均由程序 Tween建议使用 DOTween控制 Y 轴位移;动画 Animator 只控制姿态,不含位移曲线

  2. 弹道生成

    • 回旋扇:在 Skill_Boomerang_Start 动画的"扇子离手"帧AnimationEvent实例化弹道同帧关闭嘲风手部扇子 Sprite。
    • 小/大龙卷在技能发生帧AnimationEvent于指定位置 Spawn 龙卷 GameObject。
  3. 技能 CD 与权重:所有技能的冷却时间、选择权重统一放入 BossDataSOScriptableObject禁止硬编码。

  4. 阶段 HP 阈值:建议在 BossHealthComponent 中注册事件HP 到达阈值时广播 OnPhaseChanged(2) 事件,由状态机监听处理。

  5. 击败流程锁定:进入 Defeat_Struggle 后,关闭所有 AI、受击碰撞盒直到 Defeat_StandUp 播放完毕后再派发 BossDefeated 事件。

  6. 剧情衔接AppearDefeat_StandUp 动画结束后通过事件系统(BaseGames.Core.Events)通知剧情系统,不在 Boss 本体内耦合剧情逻辑。

  7. 音效/特效调用:所有音效和特效均通过 AnimationEvent 调用,事件参数传递 key 字符串,由 VFXManager / AudioManager 统一管理。


快速参数表(策划待填写)

参数名 说明 默认值(待确认)
phaseThreshold 阶段切换 HP 百分比 50%
knockdownThreshold 触发击落所需空中命中次数 8
staggerDuration 落地硬直时长(秒) 3.0
boomerangSpeed 回旋扇飞行速度
boomerangMaxRange 回旋扇最远飞行距离
tornadoSmallSpeed 小龙卷飞行速度
tornadoSmallHeight 小龙卷碰撞盒高度(玩家可跳越)
tornadoLargeDuration 大龙卷持续时间(秒)
windStoneGuideTime 风石引导时长(秒)
windStoneImpactRadius 风石落地冲击范围半径
floatHeight Phase 2 漂浮高度(单位:场景单位)
floatRiseDuration 升空动画时长(秒)
floatFallDuration 击落后坠落时长(秒)