# 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 | 由程序开发文档与动作需求表合并为综合文档 | — |