6.0 KiB
6.0 KiB
记忆解密器 - 快速入门
🚀 5分钟快速开始
第一步:创建配置文件(可选)
✨ 自动配置模式(推荐)
无需手动创建配置文件!系统会自动使用默认配置。
🔧 自定义配置模式(可选)
如果需要自定义配置:
- 在 Unity 编辑器中,右键点击 Project 窗口
- 选择
Create > AibisDream > Language > Memory Decryptor Config - 命名为
DefaultMemoryDecryptorConfig - 在 Inspector 中填入基础数据
- 在 MemoryDecryptorMode 组件中拖入配置文件
快捷方式:使用 MemoryDecryptorConfigExample.CreateDefaultConfig() 生成示例配置
第二步:设置场景 UI
- 创建基础 Canvas
- 创建 Canvas(Screen Space - Overlay)
- 添加 Canvas Scaler,设置为 Scale With Screen Size
- 添加记忆解密器根对象
Canvas
└── MemoryDecryptorRoot
├── Background (Image - 纯黑色)
└── MainPanel (RectTransform)
- 创建网格容器
MainPanel
└── GridContainer (RectTransform)
- Anchor: Top-Left
- Pivot: (0, 1)
- Position: (50, -50, 0)
- 创建解码器条容器
MainPanel
└── DecoderStripContainer (RectTransform)
- 与 GridContainer 同级
- 相同的锚点和 Pivot
- 创建控制面板
MainPanel
└── ControlPanel (Vertical Layout Group)
├── FrequencyDisplay (TextMeshPro)
│ └── Text: "00.0 Hz"
├── FrequencySlider (Slider)
│ └── Min: 0, Max: 100, Value: 50
├── FilterButton (Button)
│ └── Text: "启动过滤分析"
├── VerifyButton (Button)
│ └── Text: "验证对齐"
├── SignalPanel
│ └── SignalBar (Image - 绿色,Anchor: Stretch-Left)
└── LogPanel (ScrollView)
└── LogText (TextMeshPro)
第三步:添加脚本组件
- 添加 MemoryDecryptorMode
MemoryDecryptorRoot 上添加:
- MemoryDecryptorMode
- Config: 【可选】如果不设置,会自动使用默认配置
- (其他组件会自动查找,无需配置)
- 添加 MemoryDecryptorRenderer
MemoryDecryptorRoot 上添加:
- MemoryDecryptorRenderer
【UI 组件(必须配置)】
- Grid Container: 拖入 GridContainer
- Decoder Strip Container: 拖入 DecoderStripContainer
- Frequency Display: 拖入 FrequencyDisplay
- Log Text: 拖入 LogText
- Signal Bar: 拖入 SignalBar
- (其他组件会自动处理)
- 添加 MemoryDecryptorInputHandler
MemoryDecryptorRoot 上添加:
- MemoryDecryptorInputHandler
【UI 组件(必须配置)】
- Grid Container: 拖入 GridContainer
- Frequency Slider: 拖入滑块
- Filter Button: 拖入过滤按钮
- Verify Button: 拖入验证按钮
【拖动设置】
- Grid Cell Size: 45
- Grid Cell Gap: 2
- (Mode 和 Renderer 会自动查找)
- Yarn 命令支持
✅ 无需添加组件!
MemoryDecryptorYarnCommands 使用 [YarnCommand] 特性自动注册,
无需添加到场景中,开箱即用。
第四步:连接到 ExpressionManager
- 找到场景中的
ExpressionManager对象 MemoryDecryptorMode会被自动查找,无需手动配置- 确保
MemoryDecryptorMode是ExpressionManager的子对象即可
第五步:编写 Yarn 对话
创建或编辑你的 Yarn 文件:
title: TestMemoryDecryptor
---
让我们测试一下记忆解密器。
<<switch_to_memory_decryptor_mode>>
<<memory_decryptor_start TestSuccess>>
===
title: TestSuccess
---
成功解密!
<<memory_decryptor_stop>>
===
title: TestSuccess_Fail
---
失败了,再试试吧。
===
第六步:测试运行
-
按下 Play 按钮
-
在 Yarn Dialogue 中触发
TestMemoryDecryptor节点 -
应该看到:
- Boot 序列日志
- 网格流式加载动画
- "启动过滤分析" 按钮变为可用
-
点击"启动过滤分析"
-
调整频率滑块,观察网格变化
-
点击"验证对齐"测试匹配
🎯 最简配置(测试用)
如果只是想快速测试,可以使用这个最简配置:
1. 简单场景设置
Canvas
└── MemoryDecryptorTest
- MemoryDecryptorMode (不需要设置 Config,自动使用默认)
- MemoryDecryptorRenderer
- MemoryDecryptorInputHandler
2. 自动使用默认配置 ✨
无需任何配置!MemoryDecryptorMode 会自动创建默认配置。
3. 最简 Yarn
title: Start
---
<<enter_language_analysis>>
<<memory_decryptor_start>>
===
❓ 常见问题
Q: 看不到网格?
A: 检查 GridContainer 是否正确设置,确保 Canvas Scaler 工作正常。
Q: 解码器条不显示?
A: 确保已经调用 <<memory_decryptor_filter_start>>,或点击了"启动过滤分析"按钮。
Q: 拖动不工作?
A: 检查 Canvas 是否有 GraphicRaycaster 组件,场景是否有 EventSystem。
Q: 没有 Shapes 插件怎么办?
A: 可以修改 MemoryDecryptorRenderer 使用 Unity UI 的 Image 替代 Shapes.Rectangle。
Q: Yarn 命令不工作?
A: 确保 ExpressionManager 已正确注册到 FixSystemCenter.SystemDic。命令会自动通过 [YarnCommand] 特性注册,无需手动添加组件。
Q: 匹配检测不准确?
A: 检查配置文件中的目标位置 stripPosition 是否与匹配词汇的位置对应。
📚 下一步学习
- 阅读
README.md了解详细机制 - 查看
ExampleYarnDialogue.yarn学习完整对话流程 - 研究
MemoryDecryptorConfigExample.cs学习如何配置谜题 - 阅读
IMPLEMENTATION_SUMMARY.md了解架构设计
💡 提示
- 调试模式:在
MemoryDecryptorMode中添加[SerializeField] private bool debugMode;,在匹配时输出详细信息 - 可视化工具:可以在 Scene 视图中用 Gizmos 显示解码器孔的位置
- 自动测试:创建自动化测试脚本,自动设置频率和位置进行测试
需要帮助? 检查代码注释或查看完整文档!