# 分镜设计技术参考

本文档提供分镜设计的完整技术参考，包括镜头调度、构图规划、转场方式等详细说明。

## 分镜数据结构定义

**基于全局 Schema**: `src/models/schemas.py` - `Storyboard`

### 必需字段 (Required Fields)

```json
{
  "id": "string",
  "episode_id": "string",
  "order": "number",
  "shot": "string",
  "desc": "string",
  "duration": "string",
  "type": "string",
  "scene_id": "string (可选)",
  "character_ids": ["string"],
  "prop_ids": ["string"]
}
```

### 可选字段 (Optional Fields)

```json
{
  "voiceover": "string (可选)",
  "audio_desc": "string (可选)",
  "audio_url": "string (可选)",
  "camera_movement": "string (可选)",
  "transition": "string (可选)",
  "camera_angle": "string (可选)",
  "lens": "string (可选)",
  "focus": "string (可选)",
  "lighting": "string (可选)",
  "color_style": "string (可选)",
  "location": "string (可选)",
  "time": "string (可选)",
  "original_text": "string (可选)",
  "merge_image_prompt": "string (可选)",
  "video_prompt": "string (可选)",
  "image_urls": ["string"] (可选),
  "video_urls": ["string"] (可选),
  "generations": [GenerationRecord] (可选)
}
```

### 字段说明

#### 1. 镜头基本信息 (Basic Information)

**id** (必需):
- 镜头唯一标识符
- 由系统自动生成

**episode_id** (必需):
- 所属章节ID
- 关联到具体章节

**order** (必需):
- 镜头顺序
- 数字，从1开始

**shot** (必需):
- 镜头标题/简短描述
- 示例: "江瑜赤足踩泥", "李承宥回头"

**desc** (必需):
- 画面详细描述
- 包含视觉元素、动作、构图等
- 示例: "从低角度拍摄，江瑜的赤足踩入泥泞，脚趾陷入湿润的泥土中"

**duration** (必需):
- 预估时长
- 格式: "3s", "5s", "10s"

**type** (必需):
- 镜头类型
- 可选值: "image", "video"

#### 2. 关联信息 (Relationships)

**scene_id** (可选):
- 关联的场景ID
- 指向 SceneAsset

**character_ids** (必需):
- 出现的角色ID列表
- 指向 CharacterAsset 列表
- 示例: ["char-001", "char-002"]

**prop_ids** (必需):
- 使用的道具ID列表
- 指向 PropAsset 列表
- 示例: ["prop-001"]

#### 3. 音频信息 (Audio)

**voiceover** (可选):
- 旁白/对白文本
- 示例: "江瑜：你还好吗？"

**audio_desc** (可选):
- 音频描述
- 包含音效、背景音乐等
- 示例: "轻柔的背景音乐，鸟鸣声"

**audio_url** (可选):
- 音频文件URL
- 由系统生成后填充

#### 4. 镜头技术参数 (Technical Parameters)

**camera_movement** (可选):
- 运镜方式
- 可选值: "固定", "推进", "拉远", "摇镜", "跟随", "环绕"

**camera_angle** (可选):
- 拍摄角度
- 可选值: "平视", "俯视", "仰视", "低角度", "高角度"

**lens** (可选):
- 建议焦段
- 示例: "50mm", "85mm", "24mm"

**focus** (可选):
- 焦点设置
- 示例: "角色面部", "前景道具"

**lighting** (可选):
- 灯光设置
- 示例: "柔和自然光", "强烈侧光", "背光"

**color_style** (可选):
- 色彩风格
- 示例: "暖色调", "冷色调", "高对比度"

#### 5. 场景上下文 (Context)

**location** (可选):
- 场景地点
- 示例: "江瑜家", "官道"

**time** (可选):
- 时间
- 示例: "夜晚", "白天", "黄昏"

#### 6. 转场 (Transition)

**transition** (可选):
- 转场方式
- 可选值: "硬切", "淡入淡出", "叠化", "划像", "匹配剪辑"

#### 7. 生成相关 (Generation)

**original_text** (可选):
- 对应的原始剧本文本
- 用于追溯来源

**merge_image_prompt** (可选):
- 综合图片生成提示词
- 整合了场景、角色、道具等信息

**video_prompt** (可选):
- 视频生成提示词
- 包含动作、运镜等信息

**image_urls** (可选):
- 生成的图片URL列表
- 由系统生成后填充

**video_urls** (可选):
- 生成的视频URL列表
- 由系统生成后填充

**generations** (可选):
- 生成记录列表
- 包含所有生成历史
- 由系统自动管理

## 分镜设计维度

### 1. 视觉叙事

**镜头服务于叙事**：
- 每个镜头都有明确的叙事目的
- 推动情节发展
- 展现角色情感
- 传达关键信息

**示例**：
```
目的：展现角色的孤独感
镜头：远景，角色独自站在空旷的房间中，
背景虚化，强调孤立感
```

### 2. 节奏控制

**镜头时长影响节奏**：
- 短镜头（1-3秒）：快节奏，紧张感
- 中等镜头（3-5秒）：正常节奏，舒适
- 长镜头（5秒以上）：慢节奏，沉思

**示例**：
```
动作场景：短镜头快速剪辑，营造紧张感
情感场景：长镜头缓慢展开，营造沉浸感
```

### 3. 连贯性

**镜头之间要连贯**：
- 视线方向一致
- 动作连续
- 空间关系清晰
- 时间流畅

**180度法则**：
- 摄像机保持在角色连线的一侧
- 避免跳轴导致方向混乱

**示例**：
```
镜头1：角色A在画面左侧，看向右侧
镜头2：角色B在画面右侧，看向左侧
（保持视线方向一致）
```

## 构图规划

### 三分法 (Rule of Thirds)

**原理**：
- 将画面分为九宫格
- 主体放在交叉点或线上
- 视线朝向留白

**适用场景**：
- 人物特写
- 风景展示
- 平衡构图

**示例描述**：
```
角色位于画面右侧三分线处，
视线朝向左侧留白，
营造思考或期待的氛围
```

### 中心构图 (Center Composition)

**原理**：
- 主体位于画面正中央
- 四周对称分布
- 强调主体重要性

**适用场景**：
- 强调主体
- 对称美感
- 庄重场景

**示例描述**：
```
角色位于画面正中央，
四周环境对称分布，
强调角色的重要性和庄重感
```

### 对角线构图 (Diagonal Composition)

**原理**：
- 主体沿对角线排列
- 形成动态张力
- 引导视线

**适用场景**：
- 动作场景
- 动态感强
- 引导视线

**示例描述**：
```
角色沿画面对角线排列，
从左下到右上，
形成动态的视觉张力
```

### 框架构图 (Frame within Frame)

**原理**：
- 通过前景形成框架
- 主体位于框架内
- 增加层次感

**适用场景**：
- 增加层次
- 营造窥视感
- 强调主体

**示例描述**：
```
通过门框形成前景框架，
角色位于门框内，
增加画面层次感和窥视感
```

### 引导线构图 (Leading Lines)

**原理**：
- 利用线条引导视线
- 指向主体
- 增加深度感

**适用场景**：
- 展现深度
- 引导视线
- 空间感

**示例描述**：
```
道路从前景延伸到远处，
引导视线指向远处的角色，
增加画面的深度感
```

## 镜头类型与用途

### 建立镜头 (Establishing Shot)

**用途**：
- 建立场景
- 展现环境
- 交代地点和时间

**特征**：
- 通常是远景或大远景
- 展现整体环境
- 时长较长（3-5秒）

**示例**：
```
Shot 1: 建立镜头
远景，展现整座城市的天际线，
夕阳西下，天空呈现橙红色，
时长：5秒
```

### 反应镜头 (Reaction Shot)

**用途**：
- 展现角色反应
- 传达情绪
- 推动情节

**特征**：
- 通常是特写或近景
- 聚焦面部表情
- 时长较短（1-3秒）

**示例**：
```
Shot 5: 反应镜头
特写，角色面部，
眼神震惊，嘴巴微张，
时长：2秒
```

### 过肩镜头 (Over-the-Shoulder Shot)

**用途**：
- 对话场景
- 展现视角
- 建立空间关系

**特征**：
- 从一个角色肩膀后拍摄另一个角色
- 前景是肩膀和后脑勺
- 主体是对面的角色

**示例**：
```
Shot 3: 过肩镜头
从角色A肩膀后拍摄角色B，
角色B位于画面中心，
角色A的肩膀和后脑勺在前景
```

### 正反打 (Shot-Reverse-Shot)

**用途**：
- 对话场景
- 展现双方
- 建立对话关系

**特征**：
- 交替拍摄对话双方
- 保持180度法则
- 视线方向一致

**示例**：
```
Shot 4: 正打
中景，角色A，视线朝向右侧

Shot 5: 反打
中景，角色B，视线朝向左侧
```

### 插入镜头 (Insert Shot)

**用途**：
- 展现细节
- 强调道具
- 传达信息

**特征**：
- 通常是特写或大特写
- 聚焦物体细节
- 时长较短（1-2秒）

**示例**：
```
Shot 7: 插入镜头
大特写，手机屏幕，
显示一条短信，
时长：2秒
```

## 转场方式 (Transitions)

### 硬切 (Cut)

**特征**：
- 直接切换到下一个镜头
- 最常用的转场方式
- 无过渡效果

**适用场景**：
- 大多数场景转换
- 快节奏场景
- 连续动作

**示例**：
```
Shot 5 → Shot 6: 硬切
从角色特写直接切换到环境全景
```

### 淡入淡出 (Fade In/Out)

**特征**：
- 画面逐渐变黑或变亮
- 时间跨度较大
- 章节转换

**适用场景**：
- 时间跳跃
- 章节转换
- 开场和结尾

**示例**：
```
Shot 10 → Shot 11: 淡出淡入
画面逐渐变黑，表示时间流逝，
然后淡入新场景
```

### 叠化 (Dissolve)

**特征**：
- 两个画面重叠
- 前一个画面逐渐消失
- 后一个画面逐渐显现

**适用场景**：
- 时间流逝
- 梦境或回忆
- 情绪转换

**示例**：
```
Shot 8 → Shot 9: 叠化
角色年轻时的画面逐渐叠化为
角色年老时的画面，表示时间流逝
```

### 划像 (Wipe)

**特征**：
- 新画面从一侧推入
- 旧画面被推出
- 有方向性

**适用场景**：
- 风格化转场
- 快节奏场景
- 空间转换

**示例**：
```
Shot 12 → Shot 13: 划像
新画面从右侧推入，
旧画面被推向左侧
```

### 匹配剪辑 (Match Cut)

**特征**：
- 两个画面有视觉或主题联系
- 创意转场
- 强调对比或联系

**适用场景**：
- 创意转场
- 强调对比
- 主题联系

**示例**：
```
Shot 15 → Shot 16: 匹配剪辑
从角色眼睛的特写切换到
圆形窗户的全景，
形状和位置匹配
```

## 剧本拆解规则

### 拆解原则

**1. 按动作拆解**：
- 每个重要动作一个镜头
- 连续动作可以合并
- 关键动作要特写

**示例**：
```
剧本：江瑜走进房间，坐在椅子上，拿起书。

拆解：
Shot 1: 江瑜推门进入房间（全景）
Shot 2: 江瑜走向椅子（中景）
Shot 3: 江瑜坐下（近景）
Shot 4: 手拿起书的特写（特写）
```

**2. 按对白拆解**：
- 每句重要对白一个镜头
- 对话场景使用正反打
- 反应镜头展现情绪

**示例**：
```
剧本：
江瑜：你还好吗？
李承宥：与你无关。

拆解：
Shot 5: 江瑜说话（中景）
Shot 6: 李承宥反应（特写）
Shot 7: 李承宥回答（中景）
Shot 8: 江瑜反应（特写）
```

**3. 按情绪拆解**：
- 情绪变化要有镜头展现
- 使用特写展现细微表情
- 景别变化配合情绪变化

**示例**：
```
剧本：江瑜听到消息，震惊地站起来。

拆解：
Shot 9: 江瑜听到消息（中景）
Shot 10: 江瑜面部震惊表情（特写）
Shot 11: 江瑜站起来（全景）
```

### 拆解技巧

**合并原则**：
- 次要动作可以合并
- 连续动作可以合并
- 避免过度拆解

**强调原则**：
- 关键动作要单独镜头
- 重要对白要特写
- 情绪高潮要多镜头

**节奏原则**：
- 快节奏场景多镜头
- 慢节奏场景少镜头
- 根据情绪调整节奏

## 镜头表生成

### 镜头表结构

```json
{
  "shot_id": 1,
  "shot_title": "江瑜赤足踩泥",
  "script_ref": "江瑜赤足走在泥泞的小路上",
  "visual_description": "从低角度拍摄，江瑜的赤足踩入泥泞，脚趾陷入湿润的泥土中，泥水溅起",
  "dialogue": "",
  "composition": "低角度特写",
  "shot_type": "特写",
  "camera_movement": "固定",
  "camera_angle": "低角度",
  "lens": "50mm",
  "character_list": ["江瑜"],
  "prop_list": [],
  "scene_location": "官道",
  "duration": "3s",
  "transition": "硬切"
}
```

### 生成流程

**步骤 1：分析剧本**
- 提取关键动作
- 提取对白
- 提取情绪变化

**步骤 2：拆解镜头**
- 按动作拆解
- 按对白拆解
- 按情绪拆解

**步骤 3：设计镜头**
- 确定景别
- 确定构图
- 确定运镜

**步骤 4：填写镜头表**
- 编号和标题
- 画面描述
- 技术参数

## 分镜设计流程

### 阶段 1：剧本分析

**提取信息**：
- 场景和地点
- 角色和动作
- 对白和情绪
- 关键情节点

### 阶段 2：镜头规划

**确定镜头数量**：
- 根据剧本长度
- 根据情节复杂度
- 根据节奏需求

**确定镜头类型**：
- 建立镜头
- 动作镜头
- 对话镜头
- 反应镜头

### 阶段 3：镜头设计

**设计每个镜头**：
- 景别和构图
- 运镜和角度
- 时长和转场

### 阶段 4：生成镜头表

**输出结构化数据**：
- 镜头编号
- 画面描述
- 技术参数
- 角色和道具

## 最佳实践

### 1. 视觉叙事优先

**镜头要讲故事**：
- 每个镜头都有目的
- 推动情节发展
- 展现角色情感

### 2. 节奏控制

**根据情节调整节奏**：
- 动作场景快节奏
- 情感场景慢节奏
- 对话场景中等节奏

### 3. 连贯性保证

**保持镜头连贯**：
- 遵循180度法则
- 动作连续
- 空间关系清晰

### 4. 创意与规范平衡

**在规范基础上创新**：
- 遵循基本规则
- 适当创新尝试
- 服务于叙事

## 常见问题

**Q: 如何确定镜头数量？**
A: 根据剧本长度和情节复杂度，一般1-2分钟剧本需要10-20个镜头。

**Q: 如何选择景别？**
A: 根据叙事需求，展现环境用远景，传达情感用特写。

**Q: 如何设计对话场景？**
A: 使用正反打，交替拍摄对话双方，保持视线方向一致。

**Q: 如何控制节奏？**
A: 通过镜头时长和数量控制，短镜头快节奏，长镜头慢节奏。

**Q: 如何保证连贯性？**
A: 遵循180度法则，保持视线方向一致，动作连续。

## 参考资料

- 《电影语言》- 马塞尔·马尔丹
- 《电影的元素》- 李·R·波布克
- 《分镜头脚本设计》- 史蒂文·D·卡茨
- 经典电影分镜分析

