diff --git a/Docs/HuoShan/core/06_sales_deep.md b/Docs/HuoShan/core/06_sales_deep.md new file mode 100644 index 000000000..d1c00bf51 --- /dev/null +++ b/Docs/HuoShan/core/06_sales_deep.md @@ -0,0 +1,225 @@ +# 火山第一次维修 - 销售模块深入 + +**销售模块深入玩法与交互设计的唯一设计来源。** 流程步骤引用 `02_flow`,实现细节引用 `04_implementation`。 + +--- + +## 设计目标 + +- **叙事**:玩家逐步发现火山的「悲伤→笑话」转化来自前任医生的过渡方案,且火山未遵医嘱复查。 +- **体验**:从「分段排查」到「定位转换器」再到「调节失败」的递进式调查节奏。 +- **情绪**:发现全功率运转的转换器时,对应火山长期用笑话掩盖真实情绪的处境。 + +--- + +## 步骤映射(引用 02_flow 6–9) + +| 步骤 | 场景 | 内容 | 本模块负责 | +|------|------|------|------------| +| 6 | 销售模块深入 | 分段查看波形变化,发现某点异常:悲伤→幽默 | ✓ | +| 7 | 销售模块深入 | 找到转换器,发现全功率运转 | ✓ | +| 8 | 信息面板 | 查看治疗记录,发现火山未遵医嘱 | ✓ | +| 9 | 销售模块深入 | 尝试调节转换器,失败,需转表达模块 | ✓ | + +*步骤 10(表达模块 RAM)为后续 Stage,本模块收尾在步骤 9。* + +--- + +## 波形屏幕(统一展示载体) + +**波形屏幕**是维修过程中波形显示的**唯一载体**,贯穿后脑检查与销售模块深入两个阶段。 + +### 深入前(Stage2 后脑检查) + +- 波形屏幕用于检查 **销售模块** 和 **情绪模块**。 +- 连接 `"滤波器"` 查看销售模块输出:发现锯齿波(笑话波形)、扫描逻辑/情绪成分。 +- 情绪检查:`enable_scan_emotion` 发现输出端未检出原始情绪波形;用逻辑模块时间戳可回看情绪模块原始波形。 + +### 深入后(Stage3 销售模块深入) + +- **分段波形调试**依然在同一波形屏幕上显示。 +- 不切换设备,仅切换模式:从「扫描模式」转为「步进模式」。 +- 步进 1/4–4/4 的波形变化(情绪输入→屏蔽词→限幅→异常介入)均在此屏幕呈现。 + +### 临时实现参考 + +| 组件 | 说明 | +|------|------| +| `WaveformDetector` | 波形检测器,承载波形屏幕(`Assets/Scripts/MiniGame/HuoShan/Waveform/WaveformDetector.cs`)| +| `show_waveform_detector` | 显示波形屏幕 | +| `hide_waveform_detector` | 隐藏波形屏幕 | +| `connect_waveform_detector "模块ID"` | 连接到指定模块(如 `"滤波器"`)| +| `WaveformRenderer` | 波形渲染 | + +*Stage2、Stage3 的 Yarn 中均使用 `<>`。* + +--- + +## 设备与交互设计(美术实现版) + +以下为深入后销售模块的具象设计,美术资源统一在 `步进模式.psb` 中,HuoShanFixScene 已有 SellSystem 预置(尚未分层)。 + +### 设备原理 + +- **中心环**:电阻圈 + 线圈组成环,用于处理波形。底部(不可见)有信号输入(如情绪信号),经磁场处理后,波形信号通过中心阴离子发射器输出到表达模块。 +- **阴离子发射器**:中心组件,光电遮罩根据当前传输的信号类型闪烁。 +- **波形屏幕**:显示对应波形。初始为混乱的笑话波形;进入步进后为未处理波形;随滑片移动,对应段的波形随之变化。 +- **处理器**:线圈与多个处理器相连,当前滑片位置对应某一处理器的灯亮。 + +### 调试模式进入(收缩→扩张) + +- 底座:由收缩→扩张(当前 psb 为扩张态)。 +- 内环、外边框同步扩张。 +- 滑片 C 依附外环;电夹移动到指定位置。 +- 动画:滑片 C 切到滑片 A,帧动画从收缩到伸展。 +- 完成后进入步进状态:等离子体不再在线圈内,波形屏显示未处理波形,阴离子发射器闪烁与波形一致。 + +### 步进流程(发条 + 滑片) + +- **发条**:上发条约 260°(非 360°)到顶,松开后缓慢归位。 +- **滑片**:以圆环中心为轴,沿外环滑动。 +- **联动**:从滑片初始位置到当前位置之间的等离子体运转,对应磁场激活,波形随之变化。 +- **三次正向**:每次发条上满、滑动结束,Yarn 总结当前状态并继续。 +- **第三次**:滑动过程中某段出现剧烈变化,波形充满毛刺(笑话)。 +- **第四次**:反向移动,滑片移动到该异常区间后停止。 + +### 处理器段(步骤 7–9) + +- 滑片停在异常段 → 对应处理器灯亮。 +- 深入面板右移(当前模块位置固定),打开处理器盖子(可 fade)。 +- 可见:旋钮在最大功率,氖光灯最大反应闪烁。 +- 尝试降低功率 → 失败。 +- 信息面板:表达模块拒绝未被处理的波形。 +- 退出深入模式,前往表达模块。 + +### 美术与场景 + +- **美术资源**:`Assets/Resources/Art/Fix/Huoshan/SellSystem/步进模式.psb` +- **场景**:HuoShanFixScene 中已拖入 SellSystem,尚未分层。 +- **视觉参考**:附图中圆环、处理器、波形屏、旋钮、氖光灯等设备外观。 + +### 与 02_flow 步骤对应 + +| 设计阶段 | 对应步骤 | +|----------|----------| +| 进入调试模式、步进准备 | 5→6 | +| 三次发条 + 发现异常段 | 6 | +| 第四次反向定位、processor 灯亮 | 6→7 | +| 打开盖子、治疗记录 / 旋钮全功率 | 7–8 | +| 尝试降功率失败、信息面板 | 9 | +| 退出深入模式 | 9→10 | + +--- + +## 分段步进设计 + +销售模块内部按信号流向分为 **4 个检查点**,玩家逐步前进,在最后一格发现波形异常改变。**所有步进的波形均显示在波形屏幕上。** + +*注:具象实现采用发条 + 滑片交互(见上文「设备与交互设计」),本表为逻辑映射。* + +### 步进流程(4 格) + +| 格 | 内容 | 玩家操作 | 视觉效果 | +|----|------|----------|----------| +| 1/4 | 情绪信号接收 | 进入第一格 / 点击前进 | 低频波形,蓝紫色,对应悲伤 | +| 2/4 | 屏蔽词检测 | 前进到第二格 | 青色光带横扫(正常过滤流程)| +| 3/4 | 限幅检测 | 前进到第三格 | 黄色脉冲检测峰值 | +| 4/4 | 异常介入 | 到达第四格 | **波形变形:低频→高频**,发现转换器 | + +### 步骤 6 对应关系 + +- 步进 1–3:玩家「分段查看波形的变化」,信号正常。 +- 步进 4:**发现波形在某点发生异常改变**,悲伤(低频)被修改为幽默(高频)。 +- 此时触发步骤 6 完成 → 进入步骤 7 的「找到转换器」呈现。 + +### 步骤 7 对应关系 + +- 步进 4 的波形变形视觉,需具象为一个**转换器** UI/物件。 +- 转换器状态:**全功率**,将悲伤转化为笑话。 +- 玩家完成「定位」后,进入步骤 8。 + +--- + +## 治疗记录(步骤 8) + +### 触发 + +- 发现转换器后,玩家可打开**信息面板**查看治疗记录。 +- 来源:前任医生的安装记录。 + +### 内容(与 04_implementation 一致) + +``` +════════ 安装记录 ════════ +患者:火山 +症状:语言生成模块存在缺陷,无法自然处理负面情绪表达 + 患者经常因说话太直接而丢失客户 +处理方案:安装情绪滤波器 v0.7(临时) + 将部分悲伤/焦虑波形转化为幽默波形辅助表达 +随诊安排:每月复查调整参数 +副作用:未转化的情绪信号可能造成RAM堆积 +!!重要:此为过渡方案!! +``` + +### 叙事要点 + +- 目的、随诊、副作用均需可阅读。 +- 关键发现:**火山没有遵医嘱**(未按安排复查调整参数)。 +- 为步骤 9「调节失败」和后续「表达模块 RAM 堆积」提供合理解释。 + +--- + +## 转换器调节(步骤 9) + +### 操作 + +- 玩家尝试调节转换器强度(如滑块、旋钮等)。 +- 期望:降低转化强度,让部分真实情绪通过。 + +### 失败逻辑 + +- 表达模块**拒绝接受**调节后的信号。 +- 系统反馈:需要先去表达模块处理,才能再调销售模块。 +- 为步骤 10(打开表达模块 RAM)提供动机。 + +### 交互要点 + +- 失败应有明确反馈(弹窗、提示或 UI 状态)。 +- 与 Yarn 流程衔接:触发节点转入步骤 10。 + +--- + +## 与 Yarn / 流程衔接 + +| 节点 | 对应步骤 | 说明 | +|------|----------|------| +| 进入销售模块 | 5→6 | 从后脑检查转入销售模块深入 | +| 完成步进 4、发现异常 | 6 | 波形变形呈现完成 | +| 定位转换器 | 7 | 转换器 UI 可交互 / 已高亮 | +| 打开治疗记录 | 8 | 信息面板弹出 | +| 调节失败 | 9 | 表达模块拒绝,转向步骤 10 | + +*具体 Yarn 节点名与命令以 04_implementation、05_resources 为准。* + +--- + +## 实现参考 + +| 类型 | 路径 / 说明 | +|------|-------------| +| 波形屏幕 | `Assets/Scripts/MiniGame/HuoShan/Waveform/`(WaveformDetector、WaveformRenderer、WaveformYarnCommand)| +| 销售系统 | `Assets/Scripts/MiniGame/HuoShan/SalesSystem/` | +| 主管理器 | `SalesManager.cs`:打开/关闭 SaleView、相机注册 | +| 美术 | `Assets/Resources/Art/Fix/Huoshan/SellSystem/`(步进模式.psb 等)| +| 维修框架 | `FixStateMachine` 中销售系统视图的打开/关闭 | +| 波形命令 | `04_implementation` 波形类型定义、`modify_waveform`、`check_waveform_sweep` 等 | + +--- + +## 待补充(开发中填写) + +- [ ] 波形屏幕:扫描模式↔步进模式的切换流程是否需显式 UI 区分 +- [ ] 步进 UI 布局与操作方式(点击 / 滑动 / 键盘) +- [ ] 转换器视觉与交互控件 +- [ ] 治疗记录面板的打开方式(按钮 / 自动弹出) +- [ ] 调节失败的具体反馈形式 diff --git a/Docs/HuoShan/impl/06_sales_deep_实现指南.md b/Docs/HuoShan/impl/06_sales_deep_实现指南.md new file mode 100644 index 000000000..a62d1c495 --- /dev/null +++ b/Docs/HuoShan/impl/06_sales_deep_实现指南.md @@ -0,0 +1,252 @@ +# 销售模块深入 - 实现指南 + +**Agent 可执行实现指引。** 设计来源:[core/06_sales_deep.md](../core/06_sales_deep.md) + +--- + +## 前置依赖 + +- 设计文档:`Docs/HuoShan/core/06_sales_deep.md` +- 美术:`Assets/Resources/Art/Fix/Huoshan/SellSystem/步进模式.psb` +- 场景预置:HuoShanFixScene 中 SellSystem +- 波形系统:`Assets/Scripts/MiniGame/HuoShan/Waveform/` +- 销售系统:`Assets/Scripts/MiniGame/HuoShan/SalesSystem/` + +--- + +## 外部原型参考(只读) + +| 原型 | 路径 | 分支 | 说明 | +|------|------|------|------| +| 波形与基础交互 | `D:\github\Web_EmotionWave` | dev | 波形显示、基础交互探索 | +| 处理器 UI | `D:\github\Web_EmotionWave` | glow-tube | 旋钮、氖光灯等处理器 UI | + +--- + +## 实现任务拆分(按序执行) + +### 任务 1:步进模式美术分层 + +**目标**:SellSystem 在 HuoShanFixScene 中按功能分层,便于脚本挂载。 + +**产出**: + +- 分层结构建议:底座 / 内环 / 外环 / 滑片 A / 滑片 C / 电夹 / 波形屏 / 处理器 +- 各层需有可被脚本引用的 GameObject 或 Transform +- 更新 `05_resources.md` 记录 SellSystem 层级 + +**执行要点**: + +- 在 Unity 中打开 HuoShanFixScene +- 选中 SellSystem,检查 psb 导入后的层级 +- 按需要拆分、命名,确保滑片、电夹、处理器等可单独控制 + +--- + +### 任务 2:收缩→扩张动画 + +**目标**:底座/内环/外边框扩张,滑片 C→A 帧动画,电夹移动到位。 + +**产出**: + +- 扩张序列动画(Animator 或 DOTween) +- 滑片 C 切到滑片 A 的帧动画(或 sprite swap) +- 电夹从初始位置移动到目标位置的动画 + +**执行要点**: + +- 可用 Unity Animator、DOTween 或 Spine +- 动画完成触发:进入步进状态(等离子体不再在线圈内,波形屏切换为未处理波形) + +--- + +### 任务 3:发条控件 + +**目标**:上发条约 260°,到顶松开,缓慢归位;触发滑片开始滑动。 + +**产出**: + +- 发条拖拽/点击交互组件 +- 260° 旋转上限,归位缓动 +- 到顶松开后发出「可开始滑片滑动」信号 + +**执行要点**: + +- 参考 Web 原型 `Web_EmotionWave`(dev)中的交互 +- 需与 Yarn 或 SalesManager 衔接:每次发条完成 → 对应步进节点 + +--- + +### 任务 4:滑片滑动与波形联动 + +**目标**:滑片以圆环中心为轴滑动;滑动角度/弧度驱动波形变化。 + +**产出**: + +- 滑片沿外环滑动逻辑 +- 滑片位置 → 波形参数映射(对接 WaveformRenderer / WaveformDetector) +- 从滑片初始位置到当前位置的等离子体发光段 + +**执行要点**: + +- 滑片角度/弧度与 `WaveformDetector` 或自定义波形参数联动 +- 等离子体发光:对应弧段内线圈高亮 + +--- + +### 任务 5:三次正向 + 一次反向 + +**目标**:步进 1–3 正向滑动,步进 3 中标记异常段;步进 4 反向到异常段停止。 + +**产出**: + +- 步进 1–3:每次发条上满 → 滑片正向滑动一段 → Yarn 总结 +- 步进 3:滑动过程中某段波形剧烈变化(毛刺/笑话) +- 步进 4:发条反向,滑片移动到异常区间后停止 + +**执行要点**: + +- 与 `Stage3.yarn` 节点(步进_情绪输入 / 步进_屏蔽词检测 / 步进_限幅检测 / 步进_异常介入)对应 +- 需根据新设计调整或新增 Yarn 节点,使发条 1–4 次与文案匹配 + +--- + +### 任务 6:处理器灯与位置映射 + +**目标**:滑片位置 → 处理器索引 → 对应灯亮。 + +**产出**: + +- 滑片角度/位置与处理器索引的映射表或配置 +- 处理器灯亮/灭的视觉反馈 + +**执行要点**: + +- 滑片停在异常段时,对应处理器灯亮 +- 可为每个处理器分配角度区间 + +--- + +### 任务 7:深入面板右移 + 处理器盖 + +**目标**:面板右移,打开处理器盖子(fade),展示旋钮与氖光灯。 + +**产出**: + +- 深入面板整体右移动画 +- 处理器盖子打开动画(可 fade) +- 旋钮、氖光灯的初始状态(最大功率、最大闪烁) + +**执行要点**: + +- 旋钮在最大功率:红色指示器在上方 +- 氖光灯最大反应闪烁 + +--- + +### 任务 8:旋钮调节与失败逻辑 + +**目标**:玩家拖拽降功率 → 失败 → 信息面板显示「表达模块拒绝」。 + +**产出**: + +- 旋钮拖拽交互 +- 调节失败判定 +- 信息面板弹出,文案:「表达模块拒绝了未被处理的波形」 + +**执行要点**: + +- 参考 Web 原型 `Web_EmotionWave`(glow-tube 分支) +- 与步骤 9 对应,触发退出深入模式、转入步骤 10 + +--- + +### 任务 9:Yarn 命令扩展 + +**目标**:如需新增 `wind_crank`、`slide_to_segment` 等命令,实现并注册。 + +**产出**: + +- `SalesYarnCommand.cs` 或扩展 `WaveformYarnCommand.cs` +- 命令:如 `wind_crank_complete`、`slide_to_anomaly` 等 + +**执行要点**: + +- 在 `Assets/Scripts/MiniGame/HuoShan/` 下新建或扩展现有 YarnCommand +- 与 `Stage3.yarn` 中的 `<>` 和对话衔接 + +--- + +### 任务 10:Stage3 节点衔接 + +**目标**:将 Stage3.yarn 的步进节点与发条 1–4 次对应,更新文案。 + +**产出**: + +- 更新 `Assets/Resources/Yarn/Test_Huoshan/Stage3.yarn` +- 步进_情绪输入 / 步进_屏蔽词检测 / 步进_限幅检测 / 步进_异常介入 与发条 1–4 次逻辑对应 +- 必要时新增节点(如发条完成、滑片到位等) + +**执行要点**: + +- 对照 [06_sales_deep.md](../core/06_sales_deep.md) 的步骤映射 +- 保持与 02_flow 步骤 6–9 一致 + +--- + +## 关键脚本与资源 + +| 类型 | 路径 | 说明 | +|------|------|------| +| 销售管理器 | `Assets/Scripts/MiniGame/HuoShan/SalesSystem/SalesManager.cs` | SaleView 显示/隐藏 | +| 波形检测器 | `Assets/Scripts/MiniGame/HuoShan/Waveform/WaveformDetector.cs` | 波形屏 | +| 波形渲染 | `Assets/Scripts/MiniGame/HuoShan/Waveform/WaveformRenderer.cs` | 波形绘制 | +| 维修状态机 | `Assets/Scripts/FixSystemNew/FixStateMachine.cs` | SalesState 进入/退出 | +| 资源索引 | `Docs/HuoShan/core/05_resources.md` | 路径与资产映射 | + +--- + +## 流程关系示意 + +```mermaid +flowchart TB + subgraph Enter [进入调试模式] + A1[底座/内环/外边框扩张] + A2[滑片C to A 帧动画] + A3[电夹移动到位] + A1 --> A2 --> A3 + end + + subgraph Step [步进流程] + B1[发条1: 上满260deg] + B2[滑片滑动_1] + B3[发条2: 上满] + B4[滑片滑动_2] + B5[发条3: 上满] + B6[滑片滑动_3_含异常段] + B7[发条4: 反向] + B8[滑片移动到异常段停止] + end + + subgraph Processor [处理器段] + C1[处理器灯亮] + C2[面板右移] + C3[打开盖子] + C4[旋钮最大功率] + C5[尝试降功率] + C6[失败_信息面板] + C5 --> C6 + end + + Enter --> Step + B8 --> C1 + C1 --> C2 --> C3 --> C4 --> C5 +``` + +--- + +## 待确认 / 可后续补充 + +- 治疗记录(步骤 8)与「信息面板显示表达模块拒绝」(步骤 9)是否同一面板不同内容 +- 发条与滑片精确参数:260°、归位速度、滑片角速度等 +- 异常段的弧度/角度定义