- 新增 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>
110 lines
3.8 KiB
Markdown
110 lines
3.8 KiB
Markdown
# E006 讙
|
|
|
|
| 项 | 值 |
|
|
|------|------|
|
|
| 文档类型 | 小怪 |
|
|
| 版本 | v1.0 |
|
|
| 更新日期 | 2026-07-21 |
|
|
| 状态 | 进行中 |
|
|
| 负责模块 | `BaseGames.Enemies.AI` / `ENM_` 资产 |
|
|
| 关联文档 | [敌人总览](../敌人总览.md) |
|
|
|
|
---
|
|
|
|
## 概述
|
|
|
|
| 字段 | 内容 |
|
|
|------|------|
|
|
| 编号 | E006_Huan |
|
|
| 类别 | 小怪 |
|
|
| 行动方式 | 地面巡逻 + 跳跃突进攻击 |
|
|
| 核心机制 | 发现玩家后向前跳跃爪击;跳跃位移由程序控制,动画只做原地滞空攻击动作 |
|
|
| 形象设定 | 随处可见的小型野兽,身形似狸猫,独眼长耳,三条尾巴向上卷起 |
|
|
|
|
---
|
|
|
|
## 状态机
|
|
|
|
```
|
|
[Idle] ──感知玩家──▶ [Skill](循环,每次抵达玩家位置后判断是否继续追击)
|
|
[Idle] ──巡逻计时──▶ [Move] ──到达边界/计时结束──▶ [Flip] ──▶ [Move / Idle]
|
|
[Skill] ──丢失目标──▶ [Idle]
|
|
|
|
[任意状态] ──HP归零──▶ [Death]
|
|
```
|
|
|
|
| AI 状态标识符 | 动画 Clip 名 | 类型 | 说明 |
|
|
|--------------|-------------|------|------|
|
|
| Idle | Idle | 循环 | 静止呼吸 |
|
|
| Move | Move | 循环 | 慢步巡逻 |
|
|
| Flip | Flip | 单次 | 转向衔接 |
|
|
| Skill | Skill | 循环 | 动画做原地起跳 + 滞空爪击动作;程序负责在起跳时给予水平方向速度(向玩家方向冲刺) |
|
|
| Death | Death | 单次 | 四肢瘫软倒地 |
|
|
|
|
---
|
|
|
|
## AI 行为
|
|
|
|
```
|
|
感知条件:视线检测(正面范围扇形)
|
|
├── 未感知 → Move 巡逻 / Idle 间歇站立
|
|
└── 感知玩家
|
|
├── 进入 Skill:起跳前摇帧触发水平速度(程序施加冲量)
|
|
├── 滞空到达玩家附近或落地 → 造成伤害判定
|
|
└── 落地后:
|
|
├── 玩家仍在感知范围 → 等待 [attackInterval] 秒 → 再次 Skill
|
|
└── 玩家离开范围 → 回到 Idle
|
|
⚠️ 落地后无专用着地动画(需求表未标注),程序直接切回 Idle 或 Move
|
|
```
|
|
|
|
---
|
|
|
|
## 技能规格
|
|
|
|
| 技能 | 触发条件 | 伤害类型 | 攻击范围 | 备注 |
|
|
|------|----------|----------|----------|------|
|
|
| 跳跃爪击 | 感知玩家 | 瞬时伤害 | 爪部碰撞盒(滞空期间开启) | 动画仅原地,程序在动画起跳帧给 Rigidbody 施加水平冲量 |
|
|
|
|
---
|
|
|
|
## 动画需求
|
|
|
|
| 动作类别 | 命名 | 动画类型 | 描述 | 帧数 | 图片参考 |
|
|
|----------|------|----------|------|------|----------|
|
|
| 待机 | Idle | 循环 | 静止时的呼吸待机 | — | — |
|
|
| 移动 | Move | 循环 | 日常巡逻时慢步走动 | — | — |
|
|
| 转身 | Flip | 单次 | 转身衔接动作 | — | — |
|
|
| 技能 | Skill | 循环 | 发现目标后向前小跳爪击,有少许起跳前摇;动画只做原地滞空攻击,前跳位移由程序实现 | — | — |
|
|
| 死亡 | Death | 单次 | 四肢瘫软倒地(程序做尸体消散) | — | — |
|
|
|
|
---
|
|
|
|
## 数值参数表
|
|
|
|
| 参数名 | 说明 | 参考值 |
|
|
|--------|------|--------|
|
|
| `maxHP` | 最大生命值 | — |
|
|
| `moveSpeed` | 巡逻速度 | — |
|
|
| `detectRange` | 感知距离(正面扇形半径) | — |
|
|
| `jumpForceX` | 起跳水平冲量 | — |
|
|
| `jumpForceY` | 起跳垂直冲量 | — |
|
|
| `attackDamage` | 爪击伤害值 | — |
|
|
| `attackInterval` | 落地到下次起跳的间隔(秒) | — |
|
|
|
|
---
|
|
|
|
## 技术备注
|
|
|
|
- 跳跃时机:动画起跳帧(AnimationEvent)触发程序施加水平 + 垂直速度。
|
|
- 攻击碰撞盒仅在滞空爪击关键帧区间内开启。
|
|
- 死亡后尸体消散由程序控制(淡出/粒子),动画仅播放倒地。
|
|
- 多只讙建议使用同一 ScriptableObject 共享 AI 参数。
|
|
|
|
---
|
|
|
|
## 修订记录
|
|
|
|
| 版本 | 日期 | 修改内容 | 修改人 |
|
|
|------|------|----------|--------|
|
|
| 1.0 | 2026-07-21 | 由程序开发文档与动作需求表合并为综合文档 | — |
|