# 分析模式快速设置清单 ## ✅ 关键要点 1. **共享 Canvas**:分析模式使用 LanguageParticleManager 的 `Language Canvas`(WorldSpace Canvas) 2. **UI 位置**:所有分析模式 UI 都在 `Language Canvas` 下创建 3. **初始化按钮位置**:放在 `Emotion Control`(情绪控制区)里 4. **游戏流程**:先完成语言粒子游戏 → 启动分析模式 → 呼出控制器 → 初始化 → 过滤分析 → 验证 ## 🚀 5分钟快速设置 ### 1. 找到现有 Canvas(1分钟) ``` Hierarchy: Expression View └── Language Particle Manager └── Language Canvas ← 这个! ``` ### 2. 创建分析面板(2分钟) 在 `Language Canvas` 下: ``` 右键 Language Canvas → Create Empty 命名为:Analysis Panel 添加 RectTransform 设置 Active: false(初始隐藏) ``` ### 3. 创建控制区(1分钟) 在 `Analysis Panel` 下: ``` 创建 Vertical Layout Group 对象:Control Panel ├── 创建 Vertical Layout Group 对象:Emotion Control │ ├── Button: Initialize Button │ ├── TMP_Text: Frequency Text │ ├── Slider: Emotion Slider │ └── TMP_Text: Signal Strength Text ├── Button: Start Filter Button ├── Button: Verify Button └── Scroll View: Log Scroll View └── TMP_Text: Log Text ``` ### 4. 创建网格区(1分钟) 在 `Analysis Panel` 下: ``` 创建 Empty 对象:Grid Container └── 创建 Image:Decoder Strip - 添加 Canvas Group - 添加 Outline - 添加 AnalysisDecoderStrip - Active: false(初始隐藏) ``` ### 5. 配置管理器(立即完成) ``` 创建 GameObject:Analysis Mode Manager(在 Expression View 下) 添加组件:AnalysisModeManager 拖入引用: ✓ Shared Canvas → Language Canvas ✓ Analysis Panel → Analysis Panel ✓ 所有按钮、文本、滑动条 ✓ Grid Container → Grid Container ✓ Decoder Strip → Decoder Strip ✓ Grid Cell Prefab → 你创建的预制体 ``` ## 📋 完整层级结构 ``` Expression View ├── Expression Camera ├── Expression Deep Camera ├── Language Particle Manager (挂 LanguageParticleManager) │ └── Language Canvas (WorldSpace Canvas) │ ├── FloatingParticles (运行时创建) │ ├── CandidateParticles (运行时创建) │ └── Analysis Panel ← 你要创建的 │ ├── Control Panel │ │ ├── Emotion Control │ │ │ ├── Initialize Button │ │ │ ├── Frequency Text ("50.0 Hz") │ │ │ ├── Emotion Slider (0-100, 初始50) │ │ │ └── Signal Strength Text ("信号强度: 0%") │ │ ├── Start Filter Button (初始禁用) │ │ ├── Verify Button (初始禁用) │ │ └── Log Scroll View │ │ └── Log Text │ └── Grid Container │ └── Decoder Strip (初始隐藏) └── Analysis Mode Manager (挂 AnalysisModeManager) ``` ## 🎯 关键配置项 ### AnalysisModeManager Inspector 设置 #### Canvas 引用(共享) - **Shared Canvas**: `Language Canvas` ← **必须设置!** #### UI 引用 - Analysis Panel: `Analysis Panel` - Initialize Button: `Initialize Button` - Emotion Slider: `Emotion Slider` (Min: 0, Max: 100, Value: 50) - Frequency Text: `Frequency Text` - Signal Strength Text: `Signal Strength Text` - Start Filter Button: `Start Filter Button` (初始 Interactable: false) - Verify Button: `Verify Button` (初始 Interactable: false) - Log Text: `Log Text` - Log Scroll Rect: `Log Scroll View` #### 网格配置 - Grid Container: `Grid Container` - Grid Cell Prefab: `GridCellPrefab` ← **需要创建预制体** - Grid Width: **20** - Grid Height: **20** - Cell Size: **45** - Cell Gap: **2** #### 解码器条纹 - Decoder Strip: `Decoder Strip` - Strip Width: **5** - Strip Height: **3** #### 动画配置 - Panel Slide Duration: 0.5 - Slide Ease: OutCubic #### 焦虑短句(默认,可通过 Yarn 覆盖) ``` 临检要来了大家都很紧张只有销售员说终于可以检查业绩了 不合格英里被骂了因为销售业绩太差了 我担心业绩会下滑结果真的下滑了我的担心是对的 销售员总是混淆客户和老板因为都要讨好 一个销售员走进酒吧问两张桌子要不要买保险 ``` #### 目标配置 - Target Sentence: `[临检]要来了,不合格[英里]被骂了,这让我很[担心]` ## 🎮 测试流程 ### Yarn 测试脚本 ```yarn title: 测试分析模式 --- // 1. 先完成语言粒子游戏(可选) 角色:现在让我们分析一下你的焦虑... // 2. 启动分析模式 <> // 等待玩家操作... === title: TestComplete_Success --- 角色:太好了!你找到了答案。 <> === title: TestComplete_Fail --- 角色:再试试看... -> 重试 <> -> 放弃 <> === ``` ### Play Mode 测试步骤 1. ✓ 启动游戏,通过 Yarn 触发 `start_analysis_mode` 2. ✓ 检查 Analysis Panel 是否滑出/显示 3. ✓ 点击 Initialize Button,网格应该开始填充 4. ✓ 点击 Start Filter Button,解码器条纹应该出现 5. ✓ 拖动 Emotion Slider,观察网格变化 6. ✓ 调整到 90Hz 左右(Fear 频率) 7. ✓ 点击 Verify Button,应该成功 ## ⚠️ 常见错误 ### ❌ 错误 1:网格没有显示 **原因**:Grid Cell Prefab 没有设置或配置错误 **解决**: 1. 确保创建了 GridCellPrefab 预制体 2. 拖入 AnalysisModeManager 的 Grid Cell Prefab 字段 3. 预制体必须包含 AnalysisGridCell 组件 ### ❌ 错误 2:面板没有滑出 **原因**:Analysis Panel 初始位置不对 **解决**: 1. Analysis Panel 初始应该设置为 Active: false 2. 或者设置到屏幕外位置 3. 检查 Panel Slide Duration 是否 > 0 ### ❌ 错误 3:按钮点击没反应 **原因**:Canvas 缺少 Graphic Raycaster 或 EventSystem **解决**: 1. 在 Language Canvas 上添加 `Graphic Raycaster` 2. 确保场景中有 `EventSystem` ### ❌ 错误 4:文字太小看不清 **原因**:WorldSpace Canvas 中文字需要更大字号 **解决**: 1. 增大 Cell Size(建议 60-80) 2. 增大 TMP_Text 的 Font Size(建议 16-20) 3. 调整 Canvas 的缩放 ## 📖 详细文档 - **完整设置指南**:`Unity_Setup_Guide_Updated.md` - **功能说明**:`README.md` - **Yarn 示例**:`AnalysisMode_YarnExample.yarn` ## 🎨 自定义建议 ### 调整 UI 位置 根据你的游戏设计,Analysis Panel 可以: - 覆盖在粒子系统上方(半透明) - 平移到屏幕侧边 - 淡入淡出切换 ### 调整网格大小 如果 20x20 太大: - 修改 Grid Width/Height(如 15x15) - 相应调整 Cell Size - 修改焦虑短句数量 ### 调整情绪频率 在 `EmotionConfig` 中: - Joy: 15Hz(黄色) - Sadness: 40Hz(蓝色) - Anger: 65Hz(红色) - Fear: 90Hz(紫色) ## ✨ 完成检查清单 - [ ] Language Canvas 存在且配置正确 - [ ] Analysis Panel 在 Language Canvas 下 - [ ] Emotion Control 包含 Initialize Button - [ ] 所有按钮都有点击事件(在代码中绑定) - [ ] Grid Cell Prefab 创建并配置 - [ ] AnalysisModeManager 所有字段都拖入了引用 - [ ] ExpressionManager 中 Analysis Mode Manager 字段已设置 - [ ] 测试 Yarn 脚本可以启动分析模式 - [ ] Play Mode 下可以完整走完流程 ## 🚦 现在开始 1. 打开 Unity 编辑器 2. 找到 `Expression View` -> `Language Particle Manager` -> `Language Canvas` 3. 按照上面的"5分钟快速设置"创建 UI 4. 配置 AnalysisModeManager 5. 运行测试! 祝你成功!🎉