# 分析模式设置指南 ## 一、创建关卡配置 ### 1. 创建 ScriptableObject 1. 在 Project 窗口中,找到 `Assets/Resources/AnalysisLevels/` 文件夹(如果没有请创建) 2. 右键 → `Create > AIBIS > Language > Analysis Level` 3. 命名为 `AnalysisLevel_Fear_01` ### 2. 配置关卡数据 在 Inspector 中填写: **关卡基础信息:** - Level Name: "恐惧关卡1" - Description: "找出隐藏在笑话中的焦虑" **解码器配置:** - Decoder Width: 5 - Decoder Height: 3 - Hole Positions: (点击 + 添加3个位置) - Element 0: X=0, Y=0 - Element 1: X=1, Y=1 - Element 2: X=2, Y=4 **答案配置:** - Answer Emotion: Fear - Answer Words: (点击 + 添加3个词) - Element 0: "临检" - Element 1: "英里" - Element 2: "担心" - Correct Decoder Position: X=3, Y=5 - Complete Sentence: "[临检]要来了,不合格[英里]被骂了,这让我很[担心]" **词池配置:** 展开 Word Pool,确保: - Fear Words 列表中包含 "临检", "英里", "担心" - 每种情绪至少有 15 个词 **难度配置:** - Decoy Count Per Emotion: 15 - Frequency Tolerance: 8.0 **完成回调:** - Success Node Name: "Analysis_Fear_01_Success" - Fail Node Name: "Analysis_Fear_01_Fail" --- ## 二、设置 AnalysisModeManager ### 1. 在场景中找到或创建 AnalysisModeManager 1. 在 Hierarchy 中找到包含 `AnalysisModeManager` 的物体 2. 如果没有,创建一个空物体,添加 `AnalysisModeManager` 组件 ### 2. 配置 Inspector **Canvas 引用:** - Shared Canvas: 拖入共享的 Canvas(与 LanguageParticleManager 使用同一个) **UI 引用:** - Analysis Panel: 分析面板 RectTransform - Initialize Button: "初始化" 按钮 - Emotion Slider: 情绪频率滑动条 - Frequency Text: 频率显示文本 - Signal Strength Text: 信号强度文本 - Start Filter Button: "启动过滤" 按钮 - Verify Button: "验证" 按钮 **网格配置:** - Grid Container: 可选 - Grid Width: 20 - Grid Height: 20 - Cell Size: 0.4 - Cell Gap: 0.05 - Cell Font Size: 2.5 - Grid Center Offset: (0, 0, 0) **解码器条纹:** - Decoder Strip: 拖入解码器条纹 Prefab **字体配置:** - Chinese Font Asset: 拖入中文字体 **关卡配置:** - Current Level Data: 拖入刚创建的 `AnalysisLevel_Fear_01` --- ## 三、创建解码器条纹 Prefab ### 1. 创建 UI 对象 1. 在 Canvas 下创建空物体 2. 命名为 "DecoderStrip" 3. 添加组件: - RectTransform (自动添加) - Image - Canvas Group - AnalysisDecoderStrip ### 2. 配置组件 **RectTransform:** - Anchor: Center - Pivot: (0.5, 0.5) - Size Delta: 会被代码动态设置 **Image:** - Color: R=0, G=30, B=30, A=242 (半透明深青色) **AnalysisDecoderStrip:** - Is Draggable: ✓ - Drag Alpha: 0.7 - Strip Color: (0, 0.12, 0.12, 0.95) - Border Color: Cyan - Border Width: 2 ### 3. 添加孔洞标记(可选) 在 DecoderStrip 下创建子物体标记孔洞位置: 1. 创建3个 Image 子物体,命名为 "Hole_1", "Hole_2", "Hole_3" 2. 设置为小圆圈或方框 3. 位置对应配置中的 holePositions ### 4. 保存为 Prefab 将 DecoderStrip 拖到 Project 窗口,保存为 Prefab --- ## 四、在 Yarn 脚本中使用 创建或编辑 .yarn 文件: ```yarn title: TestAnalysisMode --- 艾比斯: 让我看看这些记忆背后藏着什么... <> // 玩家进行分析游戏,成功后自动跳转到下一个节点 === title: Analysis_Fear_01_Success --- 艾比斯: 我明白了...这些笑话背后藏着焦虑... 艾比斯: [临检]要来了,不合格[英里]被骂了,这让我很[担心]... -> 继续 <> === title: Analysis_Fear_01_Fail --- 艾比斯: 似乎不对...让我再试试... === ``` --- ## 五、测试 1. 运行场景 2. 触发包含 `start_analysis` 命令的对话 3. 观察分析模式是否正确启动 4. 调整频率滑动条,拖动解码器条纹 5. 点击验证按钮测试 --- ## 六、调试 ### 查看日志 生成器会输出详细日志: ``` [AnalysisModeGenerator] 验证通过:唯一解 [AnalysisModeManager] 已加载关卡: 恐惧关卡1 ``` ### 常见问题 **Q: 提示"找不到关卡配置"** A: 确保配置文件在 `Assets/Resources/AnalysisLevels/` 目录下 **Q: 提示"类型找不到"** A: 在 Unity 中等待编译完成,或重启 Unity **Q: 网格没有生成** A: 检查 Console 是否有错误日志,确认配置数据有效 **Q: 解码器条纹不能拖动** A: 检查 Canvas 的 Raycast Target 设置,确保 EventSystem 存在 --- ## 七、进阶配置 ### 创建更多关卡 复制 `AnalysisLevel_Fear_01`,修改: - 答案词 - 孔洞位置 - 解码器正确位置 - 诱饵词数量 ### 增加难度 - 增加 `decoyCountPerEmotion` (诱饵词数量) - 减小 `frequencyTolerance` (频率容差) - 增加网格尺寸 - 使用更多孔洞 --- 完成!现在可以创建和配置分析模式关卡了。