🎮 基于字幕检测的迷你游戏¶
“老师”字幕出现时,请在 5 秒内按下按钮!¶
本教程将延续 将音频当作视频使用并添加字幕
中创建的项目。
在上一章节中,我们已经完成了:
- 设置 UI 背景图
- 导入音频
- 使用 Whisper 生成字幕
- 生成翻译字幕
这一章中,我们将把这些字幕 真正应用到游戏系统中,实现:
“特定词语出现 → 反应时间限制 → 成功 / 失败分支”
这样的 迷你互动游戏机制。
示例所用素材来源于以下试玩版:
https://www.dlsite.com/home/work/=/product_id/RJ01323001.html
(碧蓝档案 · 一之濑初华 / 试玩版)
在《碧蓝档案》中,主角会称呼玩家为 “老师”,
因此非常适合作为字幕检测示例。
🧭 整体流程预览¶
当字幕中出现“老师”这个词时:
- 全局变量 SenseiFlag ← 1
- 显示按钮 UI
- 等待 5 秒
- 玩家按下按钮 → 成功
- 未按下按钮 → 失败(跳转到轨道末尾)
1️⃣ 先修改字幕类型(非常重要)¶
本迷你游戏需要 捕捉字幕中“老师”出现的准确瞬间。
但上一章节生成的字幕是 整句瞬间显示 的类型。
这种方式会提前知道后续文字,
导致检测时机 不准确。
因此必须将字幕类型更改为 TypeWriter(逐字输出)。
✔ TypeWriter 字幕的特点¶
- 字幕会根据时间 逐字输出
- 未出现的文字不会被检测到
- 能准确捕捉“老师”出现的实际时刻
- 适用于迷你游戏、逐字检测、呼吸同步等场景
📌 修改为 TypeWriter 的方法¶
- 在时间轴中 双击音频,进入音频编辑界面
- 打开字幕列表
- 按 Ctrl + A 全选所有字幕
- 点击右下角 Animation → TypeWriter 切换类型

完成后,字幕将以逐字输出方式呈现,可精确检测词语出现顺序。
1️⃣ 创建 UI(反应按钮)¶

- UI 标签 → 新建 UI
- 在画布中央放置 Button 按钮
- 按钮文本设置为 “老师!” 或 “PRESS!”
提示:
按钮居中能呈现更自然的迷你游戏效果。
2️⃣ 创建全局变量¶

- 左侧 资源管理 → 变量
- 点击 “+”
- 名称:SenseiFlag
- 初始值:0
变量含义:
0 = 未进入检测状态
1 = 已检测到“老师” → 进入 5 秒输入模式
3️⃣ 创建字幕检测脚本¶
本步骤将创建一个脚本,用于在字幕出现“老师”时自动触发流程:
- 判断字幕是否包含“老师”
- 若包含 → 设置 SenseiFlag = 1
- 等待 5 秒
- 若仍未按按钮 → 判定失败并结束
📌 创建脚本步骤¶
- Script 标签 → 新建脚本
- 命名:SenseiTrigger
- 按以下结构编写
✔ 第一步:检测字幕是否包含“老师”¶
条件:
- 当字幕中 包含「老师」 时
执行:
- 设置变量 SenseiFlag ← 1
- 等待 5 秒
此步骤确保只有在“老师”出现的瞬间才进入 5 秒倒计时。
✔ 第二步:5 秒后检查是否未按按钮(判定失败)¶
继续在下方添加第二个条件:
条件:
- 若变量 SenseiFlag == 1
执行:
- 将当前轨道时间修改为 420 秒(= 跳至轨道末尾)
若用户没按按钮,SenseiFlag 保持 1,因此会被判定为失败。
📌 脚本整体示例¶

这会实现:
字幕出现“老师” → 启动计时 → 无操作则失败跳转
的完整逻辑。
5️⃣ 创建按钮点击脚本¶
选择 UI 按钮:
右侧属性 → Script → Click → 编辑
✔ 成功情况(按得及时)¶
条件:SenseiFlag == 1
执行:
- SenseiFlag ← 0
- 播放成功音效
✔ 失败情况(按太晚)¶

条件:SenseiFlag == 0
执行:
- Jump Track(跳转到失败段落)
用户按太晚或已经失败之后按按钮,会触发此分支。
🧪 全流程总结¶
🔷 字幕检测脚本(SenseiTrigger)¶
- SenseiFlag ← 1
- UI Show
- Wait 5 seconds
- If SenseiFlag == 1 → Jump Track(end)
🔷 按钮脚本¶
- If SenseiFlag == 1 → 成功
- Else → 跳转失败
🎉 最终效果¶
现在项目具备以下功能:
- 字幕出现“老师” → 自动弹出按钮
- 玩家需在 5 秒内按下
- 按得及时 → 成功
- 未按或太晚 → 失败
- 与之前创建的 “音频 + 字幕 + UI” 完整结合
这是构建 VSP 迷你互动系统 的基础模板。