- 新增 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>
111 lines
4.1 KiB
Markdown
111 lines
4.1 KiB
Markdown
# E002 簧蛭
|
|
|
|
| 项 | 值 |
|
|
|------|------|
|
|
| 文档类型 | 小怪 |
|
|
| 版本 | v1.0 |
|
|
| 更新日期 | 2026-07-21 |
|
|
| 状态 | 进行中 |
|
|
| 负责模块 | `BaseGames.Enemies.AI` / `ENM_` 资产 |
|
|
| 关联文档 | [敌人总览](../敌人总览.md) |
|
|
|
|
---
|
|
|
|
## 概述
|
|
|
|
| 字段 | 内容 |
|
|
|------|------|
|
|
| 编号 | E002_HuangZhi |
|
|
| 类别 | 小怪(陷阱型) |
|
|
| 行动方式 | **固定位置**,无法移动 |
|
|
| 核心机制 | 藏于天花板 → 玩家经过检测区 → 钻出啃咬 → 悬挂可受击窗口 → 缩回 |
|
|
| 形象设定 | 无法移动的陷阱型小怪,像弹簧一样可伸缩身体,平时收缩在上方岩壁中,发现猎物经过则钻出啃咬 |
|
|
|
|
---
|
|
|
|
## 状态机
|
|
|
|
```
|
|
[Idle_Hidden] ──玩家进入触发区──▶ [Skill_Start]
|
|
│
|
|
[Skill_Loop] (悬挂,可受击)
|
|
│
|
|
冷却结束 / 玩家离开
|
|
│
|
|
[Skill_End] ──▶ [Idle_Hidden]
|
|
|
|
[任意状态] ──HP归零──▶ [Death]
|
|
```
|
|
|
|
| AI 状态标识符 | 动画 Clip 名 | 类型 | 说明 |
|
|
|--------------|-------------|------|------|
|
|
| Idle_Hidden | Idle | 循环 | 岩壁上仅露出头部剪影,间歇蠕动 |
|
|
| Skill_Start | Skill_Start | 单次 | 从岩壁钻出,身躯拉伸甩动,造成伤害 |
|
|
| Skill_Loop | Skill_Loop | 循环 | 身体悬挂岩壁轻微晃动;**此阶段碰撞盒开放,可被玩家攻击** |
|
|
| Skill_End | Skill_End | 单次 | 缩回岩壁,过渡到 Idle |
|
|
| Death | Death | 单次 | 爆体溅出黏液,留下短截身体悬挂,关闭碰撞 |
|
|
|
|
---
|
|
|
|
## AI 行为
|
|
|
|
```
|
|
持续检测正下方(矩形感知区,宽度略大于自身碰撞体宽度)
|
|
├── 玩家未进入 → Idle_Hidden(冷却计时重置)
|
|
└── 玩家进入触发区 AND 当前为 Idle_Hidden
|
|
├── 进入 Skill_Start:向下延伸,开启攻击碰撞盒
|
|
├── Skill_Start 播放完毕 → Skill_Loop(悬挂)
|
|
│ ├── 悬挂持续时间到 → Skill_End → Idle_Hidden(进入冷却)
|
|
│ └── HP 归零 → Death
|
|
└── 冷却期间玩家再次进入触发区:忽略(等待冷却结束)
|
|
```
|
|
|
|
---
|
|
|
|
## 技能规格
|
|
|
|
| 技能 | 触发条件 | 伤害类型 | 攻击范围 | 攻击次数 | 备注 |
|
|
|------|----------|----------|----------|----------|------|
|
|
| 钻出啃咬 | 玩家进入正下方感知区 | 瞬时伤害 | Skill_Start 期间碰撞盒 | 1 次 | 悬挂期无攻击判定,仅可受击 |
|
|
|
|
---
|
|
|
|
## 动画需求
|
|
|
|
| 动作类别 | 命名 | 动画类型 | 描述 | 帧数 | 图片参考 |
|
|
|----------|------|----------|------|------|----------|
|
|
| 待机 | Idle | 循环 | 躲藏在岩壁上方,只露出一点头部剪影,间隔一段时间可见略微蠕动 | — | — |
|
|
| 技能发生 | Skill_Start | 单次 | 从岩壁钻出啃咬对方,表现钻出后身躯变形和甩动的张力 | — | — |
|
|
| 技能持续 | Skill_Loop | 循环 | 攻击结束后一小段时间身体悬挂岩壁轻微晃动(此时可被玩家攻击) | — | — |
|
|
| 技能收尾 | Skill_End | 单次 | 将身体缩回岩壁 | — | — |
|
|
| 死亡 | Death | 单次 | 身体爆开,飞溅出少量黏液,留下一小截身躯悬挂 | — | — |
|
|
|
|
---
|
|
|
|
## 数值参数表
|
|
|
|
| 参数名 | 说明 | 参考值 |
|
|
|--------|------|--------|
|
|
| `maxHP` | 最大生命值 | — |
|
|
| `attackDamage` | 钻出啃咬伤害值 | — |
|
|
| `hangDuration` | Skill_Loop 悬挂时长(秒) | — |
|
|
| `cooldownDuration` | 缩回后进入下次攻击的冷却(秒) | — |
|
|
| `detectWidth` | 感知区水平宽度 | — |
|
|
|
|
---
|
|
|
|
## 技术备注
|
|
|
|
- 固定于特定平台点位,不需要 NavAgent。
|
|
- Skill_Loop 期间:攻击碰撞盒关闭,受击碰撞盒开启(可被玩家攻击)。
|
|
- 悬挂时长、冷却时长建议 ScriptableObject 配置。
|
|
- 死亡后保留部分身体 Sprite(不完全消除),可用单独的静态 Sprite 替换。
|
|
|
|
---
|
|
|
|
## 修订记录
|
|
|
|
| 版本 | 日期 | 修改内容 | 修改人 |
|
|
|------|------|----------|--------|
|
|
| 1.0 | 2026-07-21 | 由程序开发文档与动作需求表合并为综合文档 | — |
|