Flatten skill category directory structure
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
# 美术风格
|
||||
|
||||
## 目标
|
||||
|
||||
在人设图和分镜图生成之前,确定 MV 的整体美术风格,为后续视觉生成提供统一的风格基准。
|
||||
|
||||
## 内置风格预设
|
||||
|
||||
内置风格的预览图首次预览时由 `scripts/download_style_presets.py` 自动下载到 `.mv/{song_name}/{theme}/style_cache/{style}/` 本地目录,后续直接复用本地缓存。下游 `art_style.md` 的 `参考图:` 字段统一记录本地路径,确保生图工具的 `image_paths` 可直接读取。
|
||||
|
||||
| 目录 | 风格 | 说明 |
|
||||
|------|------|------|
|
||||
| `cinematic/` | 电影质感写实 | 35mm胶片颗粒、暖琥珀色调、自然光、宽银幕 |
|
||||
| `oil-painting/` | 油画风格 | 厚重笔触、印象派色彩、painterly 质感 |
|
||||
| `noir-illustration/` | 黑色插画 | 高对比剪影、图像小说风、琥珀色点缀 |
|
||||
|
||||
## 流程
|
||||
|
||||
调用 MCP 工具 `preview_and_collect_feedback` 启动美术风格选择页面:
|
||||
- **script**: `.opencode/skills/mv-creator/scripts/render_preview.py`
|
||||
- **args**: `[".mv/{song_name}/{theme}", "--type", "art_style", "--lang", "{lang}"]`
|
||||
- **feedback_path**: `.mv/{song_name}/{theme}/feedback.md`
|
||||
|
||||
页面是一个交互式选择界面,包含:
|
||||
|
||||
- **内置风格展示区**:脚本首次启动时通过 `download_style_presets.py` 把内置风格预设图缓存到 `.mv/{song_name}/{theme}/style_cache/{style}/`,按分类展示,附风格关键词标签
|
||||
- **自定义风格区**:允许输入 **风格描述文字**、上传 **1 张** 自定义参考图,或两者兼用(上传后保存到项目 `style_references/` 目录)
|
||||
- **选择提交区**:用户选定风格方向后提交
|
||||
|
||||
工具返回反馈内容后:
|
||||
|
||||
- **选择内置预设** → 直接结合预设信息生成 `art_style.md`
|
||||
- **选择自定义风格** → 根据用户提供的内容生成 `art_style.md`:
|
||||
- 仅文字描述 → 基于描述提取风格关键词,生成 `art_style.md`
|
||||
- 仅参考图 → 用 `read_media` MCP 工具分析参考图的美术风格特征(线条、色彩、构图、质感等),再基于分析结果生成
|
||||
- 文字 + 参考图 → 结合文字描述和参考图分析结果,综合生成
|
||||
|
||||
**确保参考图可用**:`art_style.md` 的 `参考图:` 列表必须包含至少一张图片。
|
||||
如果用户选择的是纯文本自定义风格(无内置预设图、无上传参考图),则在生成 `art_style.md` 之前,先用 Midjourney 根据风格关键词生成一张风格参考图,保存到 `style_references/` 目录,并写入 `参考图:` 列表。这确保后续人设图和分镜图生成阶段始终有可用的风格参考图。**此处 MJ 生成的四宫格不需要裁切**,仅需一张完整图作为风格参考即可。
|
||||
|
||||
生成的 `art_style.md` 记录:
|
||||
|
||||
- 风格名称和描述
|
||||
- 选定的参考图路径(**至少一张**)
|
||||
- 色调、光影、质感等关键词
|
||||
- 适用的生图模型推荐
|
||||
|
||||
**风格 JSON 提取**:`art_style.md` 生成后,**必须**从参考图中提取结构化的风格 JSON。调用 `read_media` MCP 工具,传入参考图路径和以下提示词:
|
||||
|
||||
```
|
||||
请以专业的艺术品鉴观角,深度分析这张图片的视觉风格。请忽略画面具体内容(比如人物、剧情),色彩风格、色彩调色板(hex代码)、构图风格、纹理质感、材质效果、线条风格、艺术风格关键词。请将分析结果输出为一段精简的 JSON 格式或描述,不要任何解读,就只要 JSON 结构。
|
||||
```
|
||||
|
||||
将返回的 JSON 结果写入 `art_style.md` 的 `风格JSON:` 字段中。此 JSON 将在后续人设图、背景图和关键物件图生成时作为风格描述注入提示词,替代直接传入参考图。
|
||||
|
||||
## 输出格式
|
||||
|
||||
完整格式示例见 `references/art-style-example.md`(非中文用户参考 `references/art-style-example-en.md`)。关键要点:
|
||||
|
||||
- 首行 `美术风格:` + 风格名称
|
||||
- 包含字段:`风格描述:`、`关键词:`、`色调:`、`光影:`、`推荐生图模型:`、`参考图:`、`风格JSON:`
|
||||
- 关键词使用英文,用于后续生图 prompt
|
||||
- 参考图路径相对项目目录,每行一个
|
||||
- 风格JSON 为 `read_media` 分析参考图返回的结构化风格数据
|
||||
|
||||
## 文件存储
|
||||
|
||||
```
|
||||
./.mv/{song_name}/{theme}/art_style.md # 美术风格说明
|
||||
./.mv/{song_name}/{theme}/style_cache/ # 内置风格预设 CDN 缓存(首次预览自动下载)
|
||||
./.mv/{song_name}/{theme}/style_references/ # 用户上传的参考图(如有)
|
||||
```
|
||||
|
||||
## 风格路由
|
||||
|
||||
美术风格确定后,判断风格是否属于**写实类**,决定后续工作流:
|
||||
|
||||
**写实类判定**:以下情况视为写实风格:
|
||||
- 用户选择了内置预设「电影质感写实(cinematic)」
|
||||
- 用户自定义风格的描述或关键词偏向写实(如包含 photorealistic / realistic / cinematic / 写实 / 真人 / 实拍 等特征)
|
||||
|
||||
**路由规则**:
|
||||
- **写实风格** → 停止 mv-creator 主流程,告知用户写实风格将使用写实分支流程(支持口型同步等写实 MV 能力)。读取 `phases/realistic-pipeline.md`,从 STEP 0 开始执行,将已有的音频文件路径和歌词数据(`.mv/{song_name}/lyric.md`)传递过去,跳过已完成的音频获取和歌词提取步骤
|
||||
- **非写实风格(油画、插画、动画、自定义非写实等)** → 继续 mv-creator 的下一阶段(脚本生成)
|
||||
Reference in New Issue
Block a user