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

7.7 KiB
Raw Blame History

分析模式快速设置清单

关键要点

  1. 共享 Canvas:分析模式使用 LanguageParticleManager 的 Language CanvasWorldSpace 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 测试脚本

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. 运行测试!

祝你成功!🎉