2c10eedad3
- 弹珠小游戏执行案 v0.2.1(经6维度对抗性审查修订25项问题) - 蹲下系统执行案 v0.2.0(玩家控制器姿态扩展) - v0.2 范围定义(对标 v01-范围) - 弹珠操作手感与系统决策头脑风暴共识 - 弹珠配置表(属性/场地/NPC/参数,4个文件) - 更新设计文档索引与 GameConfig 说明 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
8.8 KiB
8.8 KiB
蹲下系统执行案(v0.2 原型)
迭代记录
| 迭代版本 | 修改日期 | 状态 | 说明 |
|---|---|---|---|
| v0.2.0 | 2026-06-15 | 📝 设计中 | 初版执行案,蹲伏姿态、蹲伏移动、视角与高度变化、低矮空间通行、与弹珠入场衔接 |
状态标记:📝 设计中 | 🔄 开发中 | ✅ 已同步
系统概述
蹲下系统是玩家控制器的扩展。v0.1 仅实现站立姿态(Idle / Running),v0.2 增加蹲伏姿态。
蹲下在 v0.2 的三个用途:
- 弹珠小游戏入场 — 角色蹲在场地边操作弹珠(由弹珠系统调用,系统强制蹲下)
- 探索低矮空间 — 钻入桌下、矮洞、低矮门洞,发现隐藏物品
- 探索层次感 — 蹲下降低视角,看到接近地面的细节,增加探索丰富度
核心设计决定(已确认)
- 切换式蹲下(按 C 键切换站 / 蹲) — 非长按。适合探索,蹲下找东西不需持续按键
- 蹲伏移动速度低于跑步 — 蹲下是谨慎 / 探索状态,速度约为跑步的一半
- 蹲伏降低有效高度 — 可钻过低矮空间(站立进不去的地方)
- 蹲伏降低视角 — 摄像机跟随蹲下的头部高度
- 系统可强制蹲下 — 弹珠入场由系统控制姿态,玩家 C 键无效
系统边界
| 蹲下系统负责 | 蹲下系统不负责 |
|---|---|
| 蹲 / 站姿态切换与过渡表现 | 蹲下专属的隐藏物品内容(交互 / 收集系统) |
| 蹲伏移动速度与转向 | 低矮空间的场景搭建(关卡) |
| 蹲伏时有效高度与视角变化 | 弹珠小游戏的内部逻辑(弹珠系统) |
| 为弹珠入场提供蹲下姿态接口 | 交互物"仅蹲伏激活"的具体配置(交互系统) |
状态定义(扩展玩家控制器)
在 v0.1 的 Idle / Running 基础上引入"姿态层 + 移动层"二维状态:
| 姿态 | 移动 | 组合状态 | 说明 |
|---|---|---|---|
| Stand | Idle | 站立待机 | v0.1 的 Idle |
| Stand | Moving | 跑步 | v0.1 的 Running,4.5 m/s |
| Crouch | Idle | 蹲伏待机 | v0.2 新增 |
| Crouch | Moving | 蹲伏移动 | v0.2 新增,2.0 m/s |
状态转换
Stand-Idle ──(按 C)──→ Crouch-Idle
Stand-Moving ──(按 C)──→ Crouch-Moving
Crouch-Idle ──(按 C + 头顶无障碍)──→ Stand-Idle
Crouch-Moving ──(按 C + 头顶无障碍)──→ Stand-Moving
Crouch-Idle ──(按移动键)──→ Crouch-Moving
Crouch-Moving ──(松开移动键)──→ Crouch-Idle
站起障碍检测:从蹲到站,若头顶存在障碍物(处于低矮空间内)→ 无法站起,保持蹲伏。
弹珠系统强制切换:弹珠入场时角色强制进入 Crouch 姿态(系统触发,非玩家按 C);退出时强制回到 Stand。
行为规则
一、姿态切换(站 ↔ 蹲)
玩家主动切换
| 操作 | 触发 | 表现 |
|---|---|---|
| 站 → 蹲 | 玩家按 C 键 | 立即开始下蹲过渡,时长 0.3 秒(建议值,可调,范围 0.2-0.5 秒)。过渡中可移动(按蹲伏速度) |
| 蹲 → 站 | 玩家按 C 键 | 先检测头顶障碍。无障碍 → 站起过渡 0.3 秒;有障碍 → 拒绝站起,保持蹲伏 |
| 过渡中再按 C | 取消当前过渡,反向切换 | 例:下蹲过渡中按 C → 转为站起 |
系统强制切换(弹珠入场 / 退出)
| 场景 | 行为 |
|---|---|
| 弹珠入场 | 系统强制角色进入 Crouch 姿态(就位表现 0.8 秒,含下蹲过渡) |
| 弹珠退出 | 系统强制角色回到 Stand 姿态(站起表现 0.8 秒,含站起过渡) |
| 强制期间 | 玩家的 C 键输入被忽略,姿态由弹珠系统控制 |
二、蹲伏移动
速度与加减速
| 项目 | 建议值 | 可调范围 | 说明 |
|---|---|---|---|
| 蹲伏移动速度 | 2.0 m/s | 1.5-3.0 m/s | 约跑步(4.5)一半 |
| 蹲伏起步加速时间 | 0.2 秒 | 0.1-0.4 秒 | 与站立一致 |
| 蹲伏停止减速时间 | 0.3 秒 | 0.2-0.5 秒 | 与站立一致 |
方向与转向
- 移动方向:相对摄像机水平朝向(与站立移动逻辑一致)
- 蹲伏转向速度:540°/秒(建议值,可调,范围 360°-720°/秒),低于跑步(720°/秒),蹲下转身更慢、更谨慎
- 连续移动:蹲伏中旋转摄像机,移动方向实时跟随,与站立行为一致
动画
- 蹲伏待机:蹲姿静止(v0.2 占位动画)
- 蹲伏移动:蹲姿挪步(v0.2 占位动画)
三、蹲伏时的有效高度与通行
有效高度
| 姿态 | 有效高度(建议值) | 可调范围 |
|---|---|---|
| 站立 | 1.6m | 1.4-1.8m |
| 蹲伏 | 1.0m | 0.8-1.2m |
通行规则
- 角色有效高度 ≤ 空间净高 → 可通过
- 角色有效高度 > 空间净高 → 被阻挡
- 效果:蹲伏时可通过净高在 1.0m-1.6m 之间的低矮空间(桌下、矮洞、低矮门洞),站立无法进入
- 蹲伏通过低矮空间时保持蹲伏姿态;离开低矮空间(头顶已无障碍)后可按 C 站起
四、蹲伏时的摄像机
| 项目 | 站立 | 蹲伏 | 说明 |
|---|---|---|---|
| 摄像机高度(头部上方) | 0.8m | 0.4m(建议值,可调,范围 0.3-0.6m) | 蹲伏视角降低 |
| 摄像机俯角 | 15° | 15° | 保持一致 |
| 跟随方式 | 软跟随 | 软跟随 | 规则不变 |
姿态切换时摄像机过渡:摄像机高度随姿态过渡同步平滑变化(0.3 秒),与角色下蹲 / 站起同步。
效果:蹲下时视角降低,看到更接近地面的细节,适合寻找隐藏在低处的物品。
边界情况处理
在低矮空间内尝试站起
头顶障碍检测阻止站起,角色保持蹲伏。v0.2 不强制提示文字,仅阻止动作(后续可加"上方有东西"的轻微反馈)。
蹲伏中头顶突然出现障碍(动态物体掉落)
v0.2 无动态物理掉落系统,不存在此情况。后续若加入,需定义"被压住时强制保持蹲伏"规则。
蹲伏中进入交互
- 蹲伏姿态可正常触发交互,交互系统不因姿态拒绝触发
- 交互期间姿态冻结(保持触发交互时的姿态),交互结束后恢复玩家控制
- 某些低矮交互物(桌下物品)仅在蹲伏姿态下激活其触发范围
蹲伏中进入弹珠小游戏
弹珠入场强制蹲下。若角色已在蹲伏姿态,就位表现中姿态无变化(仍为蹲伏),仅播放走到场地的位移表现。
姿态切换过渡中按移动键
过渡中接受移动输入,按目标姿态的速度移动。例:站 → 蹲过渡中按住 W → 角色以蹲伏速度开始移动。
姿态切换过渡中进入交互
交互触发时冻结当前姿态(无论过渡进行到哪)。交互结束后回到冻结时的姿态。
跨系统交互
与玩家控制器(移动系统)
- 蹲下系统扩展玩家控制器的姿态层,移动方向逻辑复用
- 蹲伏移动速度、转向速度由蹲下系统提供数值
与交互系统
- 蹲伏姿态可正常触发交互
- 蹲下系统向交互系统提供"当前姿态"信号;某些低矮交互物仅在 Crouch 姿态激活触发范围(由交互物配置决定)
与弹珠小游戏
- 弹珠入场调用蹲下系统的"强制蹲下"接口
- 弹珠退出调用蹲下系统的"强制站起"接口
- 弹珠小游戏进行期间,姿态由弹珠系统控制,玩家 C 键无效
与收集系统(间接)
- 蹲伏发现的隐藏物品 → 交互拾取 → 通知物品系统 → 收集系统处理
- 蹲下系统不直接与收集系统通信
v0.2 不实现清单
| 功能 | 排除原因 |
|---|---|
| 长按式蹲下 | 采用切换式,更适配探索 |
| 匍匐(趴下,更低姿态) | 留后续版本 |
| 蹲下静音 / 潜行机制 | 无 NPC 听觉 AI(v0.3+ 才有 NPC) |
| 蹲下专属精细动画 | v0.2 使用占位动画 |
| 滑铲 / 翻滚 | 留后续版本 |
| 站起失败的文字提示 | v0.2 仅阻止动作,不加提示 |
可调参数汇总
| 参数 | 建议值 | 可调范围 | 说明 |
|---|---|---|---|
| 蹲伏移动速度 | 2.0 m/s | 1.5-3.0 m/s | 约跑步一半 |
| 蹲伏转向速度 | 540°/秒 | 360°-720°/秒 | 低于跑步 720°/秒 |
| 站立有效高度 | 1.6m | 1.4-1.8m | 小孩身高 |
| 蹲伏有效高度 | 1.0m | 0.8-1.2m | 蹲下高度 |
| 蹲伏摄像机高度 | 0.4m | 0.3-0.6m | 蹲伏头部上方 |
| 姿态切换过渡时长 | 0.3 秒 | 0.2-0.5 秒 | 站 ↔ 蹲 |
| 蹲伏起步加速时间 | 0.2 秒 | 0.1-0.4 秒 | 与站立一致 |
| 蹲伏停止减速时间 | 0.3 秒 | 0.2-0.5 秒 | 与站立一致 |
| 弹珠就位表现时长 | 0.8 秒 | 0.5-1.2 秒 | 含下蹲过渡(与弹珠执行案一致) |