Files
aibis-dream/Assets/Scripts/MiniGame/HuoShan/Language/AnalysisMode/QuickStart.md
T
2025-12-09 21:42:49 +08:00

260 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 分析模式快速设置清单
## ✅ 关键要点
1. **共享 Canvas**:分析模式使用 LanguageParticleManager 的 `Language Canvas`WorldSpace Canvas
2. **UI 位置**:所有分析模式 UI 都在 `Language Canvas` 下创建
3. **初始化按钮位置**:放在 `Emotion Control`(情绪控制区)里
4. **游戏流程**:先完成语言粒子游戏 → 启动分析模式 → 呼出控制器 → 初始化 → 过滤分析 → 验证
## 🚀 5分钟快速设置
### 1. 找到现有 Canvas1分钟)
```
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
└── 创建 ImageDecoder Strip
- 添加 Canvas Group
- 添加 Outline
- 添加 AnalysisDecoderStrip
- Active: false(初始隐藏)
```
### 5. 配置管理器(立即完成)
```
创建 GameObjectAnalysis 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. 启动分析模式
<<start_analysis_mode "" "TestComplete">>
// 等待玩家操作...
===
title: TestComplete_Success
---
角色:太好了!你找到了答案。
<<close_analysis_mode>>
===
title: TestComplete_Fail
---
角色:再试试看...
-> 重试
<<start_analysis_mode "" "TestComplete">>
-> 放弃
<<close_analysis_mode>>
===
```
### 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. 运行测试!
祝你成功!🎉