Flatten skill category directory structure
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
# 脚本生成
|
||||
|
||||
## 目标
|
||||
|
||||
根据歌词拆解的段落结构,为每个段落生成详细的分幕脚本。
|
||||
|
||||
## 重点
|
||||
|
||||
- 脚本的时间段可以对歌词段落进行拆分或合并,**不需要**与 lyric.md 一一对应
|
||||
- 各阶段产物相互独立:修改脚本不需要回改歌词,修改分镜不需要回改脚本,以此类推
|
||||
- **场景拆分后必须重新编号**:若某幕时长超过 15s 需要拆分成多幕,拆分后**必须**将所有场景从第一幕开始重新连续编号(第一幕、第二幕、……第 N 幕),**禁止**使用 `a/b` 后缀(如"第九幕b")。连续编号确保下游分镜图文件命名(scene_01.jpg、scene_02.jpg...)与数组索引严格一致
|
||||
- 脚本格式**必须**严格遵循模板 `references/script-example.md`(非中文用户参考 `references/script-example-en.md`),否则 HTML 预览解析器无法正确渲染
|
||||
- **场景描述必须写具体动态**:脚本的场景描述是后续视频提示词的核心输入,描述越具体、动态越丰富,生成的视频动作越自然。**禁止笼统静态描述**(如"旅人站在路边"),必须写清:
|
||||
- **角色动作**:具体的肢体动作和运动轨迹(走、跑、转身、抬手、低头等)
|
||||
- **表情/情绪**:面部表情变化(微笑渐收、皱眉凝视等)
|
||||
- **物件交互**:角色与道具/环境的互动(抚摸琴弦、推开车门、拾起信物等)
|
||||
- **镜头运动**:明确的镜头语言(从脚部缓缓上摇、跟随角色横移、推近面部特写等)
|
||||
- **环境动态**:风吹发丝、水面倒影晃动、光影变化等非静态元素
|
||||
|
||||
## 格式模板
|
||||
|
||||
完整格式示例见 `references/script-example.md`(非中文用户参考 `references/script-example-en.md`)。关键要点:
|
||||
|
||||
- 二级标题 `##` 用于每幕场景标题(如 `## 第一幕:黎明启程`)
|
||||
- 时间码行格式:`* M:SS - M:SS (Xs)`
|
||||
- 不加粗、不标注段落类型(Verse/Chorus 等)
|
||||
- 括号内为时长(秒),必须为 **4~15 秒的整数**
|
||||
- 歌词引用以 `> ` 开头,纯音乐幕无歌词引用
|
||||
- 每幕必须包含三个字段:`**场景描述:**`、`**视觉风格:**`、`**转场:**`
|
||||
- 可选字段 `**关键物件:**`:列出该幕出现的重要非人物视觉元素,格式为物件名 + 简短外观描述(括号内),多个物件逗号分隔
|
||||
- 示例:`**关键物件:** 旧皮卡(深蓝色、锈迹斑驳、车顶行李架)、吉他(原木色民谣吉他、琴身有贴纸)`
|
||||
- 场景之间用 `---` 分隔
|
||||
|
||||
## 文件存储
|
||||
|
||||
```
|
||||
./.mv/{song_name}/{theme}/script.md # 脚本文件
|
||||
```
|
||||
|
||||
## 格式校验
|
||||
|
||||
脚本写入 `script.md` 后,**必须**运行校验脚本:
|
||||
|
||||
```bash
|
||||
python3 .opencode/skills/mv-creator/scripts/validate_script.py .mv/{song_name}/{theme}/script.md
|
||||
```
|
||||
|
||||
校验规则:场景标题格式、时间码格式(含时长标签)、时长范围(4~15s 整数)、时间段连续性、必填字段完整性、与 lyric.md 交叉校验。
|
||||
|
||||
- **通过** → 调用 MCP 工具 `preview_and_collect_feedback` 启动预览:
|
||||
- **script**: `.opencode/skills/mv-creator/scripts/render_preview.py`
|
||||
- **args**: `[".mv/{song_name}/{theme}/script.md", "--type", "script", "--lang", "{lang}"]`
|
||||
- **feedback_path**: `.mv/{song_name}/{theme}/feedback.md`
|
||||
|
||||
预览页面以时间线卡片形式展示各幕,用户可点击场景卡片的 `@` 按钮引用到反馈框中。
|
||||
工具返回反馈内容后:
|
||||
- `LGTM` → 进入下一阶段
|
||||
- 其他 → 按建议修改后重新校验和预览
|
||||
- **未通过** → 由 LLM 根据校验错误信息自动修正 `script.md`,修复后重新校验。
|
||||
若连续 3 次自动修复仍未通过,通过 `AskUserQuestion` 询问用户处理方式
|
||||
Reference in New Issue
Block a user