7.7 KiB
7.7 KiB
分析模式快速设置清单
✅ 关键要点
- 共享 Canvas:分析模式使用 LanguageParticleManager 的
Language Canvas(WorldSpace Canvas) - UI 位置:所有分析模式 UI 都在
Language Canvas下创建 - 初始化按钮位置:放在
Emotion Control(情绪控制区)里 - 游戏流程:先完成语言粒子游戏 → 启动分析模式 → 呼出控制器 → 初始化 → 过滤分析 → 验证
🚀 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 测试脚本
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 测试步骤
- ✓ 启动游戏,通过 Yarn 触发
start_analysis_mode - ✓ 检查 Analysis Panel 是否滑出/显示
- ✓ 点击 Initialize Button,网格应该开始填充
- ✓ 点击 Start Filter Button,解码器条纹应该出现
- ✓ 拖动 Emotion Slider,观察网格变化
- ✓ 调整到 90Hz 左右(Fear 频率)
- ✓ 点击 Verify Button,应该成功
⚠️ 常见错误
❌ 错误 1:网格没有显示
原因:Grid Cell Prefab 没有设置或配置错误 解决:
- 确保创建了 GridCellPrefab 预制体
- 拖入 AnalysisModeManager 的 Grid Cell Prefab 字段
- 预制体必须包含 AnalysisGridCell 组件
❌ 错误 2:面板没有滑出
原因:Analysis Panel 初始位置不对 解决:
- Analysis Panel 初始应该设置为 Active: false
- 或者设置到屏幕外位置
- 检查 Panel Slide Duration 是否 > 0
❌ 错误 3:按钮点击没反应
原因:Canvas 缺少 Graphic Raycaster 或 EventSystem 解决:
- 在 Language Canvas 上添加
Graphic Raycaster - 确保场景中有
EventSystem
❌ 错误 4:文字太小看不清
原因:WorldSpace Canvas 中文字需要更大字号 解决:
- 增大 Cell Size(建议 60-80)
- 增大 TMP_Text 的 Font Size(建议 16-20)
- 调整 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 下可以完整走完流程
🚦 现在开始
- 打开 Unity 编辑器
- 找到
Expression View->Language Particle Manager->Language Canvas - 按照上面的"5分钟快速设置"创建 UI
- 配置 AnalysisModeManager
- 运行测试!
祝你成功!🎉