# 第一篇：从空工程制作分支剧情

[教程总入口](../README.md) · 下一篇：[动作、奖励与回忆录](02-actions-and-memories.md)

本篇完成后路线如下：

```text
01 / 开场
  ├─ 选择 / 探索庭院 → 02 / 探索庭院 ─┐
  └─ 选择 / 正面交锋 → 02B / 正面交锋 ┴→ 03 / 回归主线
```

“选择”是交互节点，播放镜头的是视频节点；不能只给开场接两个视频就认为已经做出两个可点选项。

## B01 新建一个空章节

1. 页头点击“章节库”，再点击“新建章节”；也可点击左侧“＋ 新建”。
2. 章节名称填 `第一章 · 从零练习`，目录名称填 `tutorial-001`。若已存在，换成未使用的名称并记入学习记录。
3. 点击“创建章节，导入素材 →”。
4. 确认素材库为空，左侧显示本次新目录。

新建不会自动带入第一集素材。先在章节库选择保存位置：本机目录模式写授权仓库的 `chapters/tutorial-001/`；浏览器模式存入此站点 IndexedDB，须导出工程包才得到可提交 Git 的目录。服务器不保存剧情。

**验收**：章节库能看到新章，素材数量为 0。建议回复：`空工程已新建`。

## B02 导入第一集素材

准备以下 4 个视频和 1 张图片。当前仓库的 `chapters/chapter-001/assets/` 中已有这些素材；可以从这里选择原文件导入到新章，或使用自己的素材来源。

| 用途 | 此前练习实际使用的文件 |
| --- | --- |
| 开场 | `2-0-提示-躲避飞刀1140.mp4` |
| 庭院 | `1-提示-探索庭院-1.mp4` |
| 交锋 | `1m7s-1m22s提示：腿倒是挺长嘛，实力一般-1.mp4` |
| 汇合 | `1m22-1m33提示：喜欢我这样厉害的嘛-1.mp4` |
| 按钮占位图 | `圆点.png` |

1. 中列切换“素材库”，点击“导入素材”，选择这些原文件。也可以点击“导入素材文件夹”导入一个纯素材目录。
2. 等待素材卡片出现，分别打开视频或图片确认内容能预览。
3. 新工程导入原素材时，无需手动选择 `.meta`；编辑器会为本章生成稳定素材身份。

同一章多个节点可引用同一素材，通常无需反复导入；不同章则各自导入、独立存储。素材库导入与左侧“导入工程”用途不同。

**验收**：本章有 4 个视频和 1 张图片，视频可播放。建议回复：`素材已导入`。

## B03 添加开场

1. 找到开场视频素材，点击卡片“＋ 添加节点”。
2. 右侧“节点名称”改为 `01 / 开场`。
3. 确认“视频素材”绑定正确；若右侧显示“设为剧情入口”，点击它。第一个视频通常自动成为入口。
4. 在舞台点击播放按钮，检查开场画面。

布局编辑中的播放仅预览这个片段；“▶ 试走剧情”才执行路由、条件、广告等逻辑。

**验收**：左侧开场标有“入口”，舞台能播放。建议回复：`已添加开场`。

## B04 先接通一段连续播放

1. 在素材库把庭院视频添加为节点，命名 `02 / 探索庭院`。
2. 左侧选择 `01 / 开场`，在右侧“分支与后继”点击“＋ 连接到节点”，选择庭院视频节点。
3. 开场勾选“自动衔接后续片段”，关闭“循环播放”，不要勾“设为剧情结局”。
4. 选中开场，点击“▶ 试走剧情”。可用“跳至结束 →”快速验证是否切入庭院。

“试走剧情”从当前宿主片段开始；要测试全章，可以选择入口后试走，或在试走状态点击“从剧情入口重播”的 ↺ 按钮。

**验收**：开场结束后自动进入庭院。建议回复：`已连通并播放`。

## B05 把自动衔接改为点击选项

1. 切回“布局编辑”，选开场。
2. 在“分支与后继”移除开场直接连接庭院的那条连接（点击连接旁的 ×，不是删除庭院节点）。
3. 点击“＋ 添加交互”。确认新交互挂在开场下，改节点名称为 `选择 / 探索庭院`，选项文字为 `探索庭院`。
4. “出现时间”设 0，“消失时间”设 0，暂时关闭“从视频开始显示”。这会在片尾显示选项。
5. 选中新交互，在它的“分支与后继”连接到 `02 / 探索庭院`。
6. 从开场试走，到片尾点击选项。

**验收**：开场不会自行跳入庭院，点“探索庭院”才进入。建议回复：`选项可以点击进入庭院`。

## B06 添加第二条分支

1. 把交锋视频添加为节点，命名 `02B / 正面交锋`。
2. 重新选中开场，再“添加交互”，命名 `选择 / 正面交锋`，选项文字为 `正面交锋`。
3. 与第一选项一样，出现/消失均为 0，关闭“从视频开始显示”。
4. 此交互连接到 `02B / 正面交锋`。
5. 两次从入口试走，分别选庭院与交锋。

**验收**：两选项都属于开场，各进入正确镜头。建议回复：`两条分支都正常`。

## B07 两条分支回归主线

1. 把汇合视频添加为节点，命名 `03 / 回归主线`。
2. 选庭院视频，将后继连接到汇合；选交锋视频，也连接到同一个汇合节点。
3. 两个分支视频都启用自动衔接、关闭循环、取消结局标记。
4. 目前汇合是最后一段，可以勾“设为剧情结局”。
5. 分别走完两条路线。

不要复制两个汇合节点来模拟同一段主线；两条连接指向同一个节点即可。

**验收**：两条分支都进入 `03 / 回归主线`。建议回复：`两条分支都能回归主线`。

## B08 改成图片按钮并调整位置

1. 选中“选择 / 探索庭院”，勾“使用图片交互”，交互图片选 `圆点.png`，保留“允许点击”。
2. 对“选择 / 正面交锋”做相同设置。
3. 为防重叠，给庭院按钮设中心 X=0.3、Y=0.75，交锋按钮设 X=0.7、Y=0.75。宽高可先用 0.2、0.1。
4. 舞台中可拖动图片位置、用右下角调整大小；文本标签帮助区分两个占位按钮。
5. 试走确认两者都能点击且进入正确分支。

坐标与尺寸是相对画面的 0–1 比例。正式按钮应使用不同图片，普通文字选项由客户端统一排版，不能以图片布局方式拖动。

**验收**：图片按钮位置分开、命中正确。建议回复：`图片按钮正常`。

## B09 设置交互出现时间

1. 两个交互均关闭“从视频开始显示”，出现时间设为 `0.4` 秒，消失时间保留 0。
2. 选开场试走，从头观察前 0.4 秒前后；不要直接跳片尾来验证出现时机。
3. 再完整看一遍片尾，确认仍可选。

| 配置 | 行为 |
| --- | --- |
| 出现=0，从开始显示开启 | 从片段开始可见 |
| 出现=0，从开始显示关闭 | 视频结束后显示 |
| 出现>0 | 到达指定秒数后显示 |
| 消失=0 | 不设置定时隐藏 |
| 消失>0 | 到指定秒数隐藏，必须晚于出现时间 |

**验收**：按钮从 0.4 秒出现。建议回复：`出现时间正常`。

## B10 测试一个广告点

1. 选“选择 / 正面交锋”，在“广告点”勾“观看激励广告后继续”。
2. 从开场试走，点此按钮，出现广告模拟面板。
3. 先“模拟取消”，确认未进入交锋；使用重试，再“模拟失败”，确认仍未通过。
4. 再试一次“模拟观看完成”，确认进入交锋并最终汇合。

此处验证广告控制流，真实广告是否加载和发奖须在目标客户端测试。

**验收**：只有模拟完成才继续。建议回复：`广告测试正常`。

## B11 检查并导出两个不同用途的包

1. 点击“检查剧情”，处理报错。当前若仅提示没设置封面，可先记录，第三篇正式发布前补齐。
2. 点击“保存工程”，等待“已保存”或“所有修改已保存”。
3. 点击“导出剧情”，选“章节工程目录包”，点“生成导出包”并点击生成的下载链接。
4. 再选“客户端剧情包”，保留“客户端包包含引用的媒体”，生成并下载。
5. 为两个下载文件分别起能区分用途的名字，例如 `第一章-工程.zip` 与 `第一章-客户端剧情.zip`。

下载目的地取决于浏览器，服务器不保留导出包。支持的浏览器也可“直接保存 ZIP”到本机。页面的“下载修改快照 JSON”是故障恢复辅助，不是含素材的完整工程备份。

**验收**：有工程目录包和客户端包各一份。建议回复：`两个包都已导出`。

## B12 导入工程副本

1. 解压 `第一章-工程.zip`，找到内部直接含 `story.project.json` 的章节目录。
2. 点击左侧“导入工程”→“选择工程目录”，选择这一级目录，不要选外层 ZIP 所在目录或整个仓库。
3. 目标目录填 `tutorial-001-copy`，勾“导入为独立副本（新工程 ID 与章节 ID）”。
4. 点击“导入工程”，等待完成。
5. 检查节点和素材完整，试走两条分支。章节库仍保留原章。

导入副本会生成新的工程和章节 ID；素材保存在新章自己的目录中。即使素材 GUID 文本与原章相同，也在各自工程作用域内解析。业务变量名不会因复制自动改名。

**验收**：副本可独立编辑，原章未被覆盖。建议回复：`工程副本导入正常`。

继续 [第二篇](02-actions-and-memories.md)，在这个副本上练习高级功能。
