用途
本技能是 Bevy 引擎下视觉小说(Visual novel)类型的“薄路由”(thin router)。它不承担具体领域实现,而是把视觉小说相关的需求路由到对应的 Bevy 子技能,帮助开发者明确在 Bevy 的 ECS 架构中如何组织对话、立绘与选项分支。
主要能力
- 类型路由:将台词交给 bevy-dialogue-system,正文文本交给 bevy-ui-text,选项按钮交给 bevy-ui-layout,路线标记交给 bevy-save-load。
- ECS 结构约定:组件以纯数据形式保存每个实体的类型标记;资源保存全局计数器(如分数、波次索引、随机种子),通过 bevy-data-resources 管理;系统在 Update 或来自 bevy-master 的固定时间步上读取这些组件,需要顺序时用 .chain() 串联。
- 调度约定:游戏模式切换通过 bevy-state-machines 处理,不自行发明类型插件。
- 所有权规则:明确组件、资源、Commands、.chain()、插件边界各自的所有者与可变权限,避免两个无序系统同时可变查询同一组件。
使用方式
技能给出 Bevy 0.20+ 的示例代码,展示如何用资源保存脚本索引与路线标记,用实体表示选项行,用组件表示立绘名称。示例中空格键推进台词,数字键选择选项并写入对应标记。示例包含 Script 资源(lines、index、flags)、Line 结构、Choice 组件(key、flag、next_index)、Portrait 组件,以及 NovelPlugin 的构建方式。
适用场景
适用于在 Bevy 中开发视觉小说,需要处理对话推进、立绘显示、选项分支与路线标记的场景。也适合需要理解 Bevy ECS 中组件与资源所有权划分的开发者参考。
限制
- 本技能是路由,不拥有第二套实现,领域工作由上述 Bevy 子技能承担。
- 不发明物理、导航、网络或 XR 相关 crate;只使用有文档记录的 Bevy crate 与模块。
- 不在 Bevy 代码中使用 Godot 类型,不发明类型 API。
- 文档 URL 不固定 /0.20.0/ 版本,官方页面保持在无版本的最新分支;库版本固定在 bevy-master 的 0.20.0。
- 完整的脚本解析器属于加载到资源中的数据,不在本技能范围内。
- 关于收费、价格、平台等信息,资料中暂未提供。