mcpField
P
papercut-storyboard

papercut-storyboard

github.com/0xs4n4tg创意与媒体9951 次安装2 周前更新
代码仓库

关于 papercut-storyboard

papercut-storyboard 是为 Papercut 视频编写分镜规划的技能,供后续场景制作使用。它为每个场景明确镜头运动、转场、逐帧事件和音效,减少制作阶段的临场猜测。

主要功能

  1. 01规划逐场景镜头运动与转场
  2. 02将分镜表扩展为逐帧视觉事件
  3. 03安排字幕区、背景与场景元素
  4. 04规划转场和音效
  5. 05检查证明画面、回扣及节奏规则

适用场景

  1. 01将脚本整理成可执行的场景分镜
  2. 02为每个场景指定镜头与切入方式
  3. 03安排旁白重点词对应的画面事件
  4. 04在交给 papercut-build 前检查分镜

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/0xs4n4tg/papercut-explainer --skill papercut-storyboard

安装后在 Claude Code 中输入/papercut-storyboard确认已加载。

详细介绍

Papercut 分镜脚本

分镜脚本是每个场景据以构建的计划。它为每个场景指定镜头运动和转场,避免场景 Agent 自行编造。如果简报写着“CameraPush 或自行设计变换”,每个场景就会变成平淡的推进镜头或手工制作的缩放,而工具包里的镜头运动也会闲置。

预检

  • 安装:最简配置就够了。若有库,请查看 library/papercut/CATALOG.md(“paper/camera.tsx”和“paper/transitions.tsx”部分),了解每种运动的属性及适用场景。如果文件缺失或内容过时,请运行 python3 $PAPERCUT_LIB/tools/catalog.py。先从环境变量解析 $PAPERCUT_LIB,否则读取 ~/.config/papercut-explainer/config.env 中的 PAPERCUT_LIB= 行,再不行就询问一次。
  • 需要 narration/script.json 和 papercut/STORYBOARD.md,其中包含 HOOK 区块和布景表(每行包括横幅、场景布置、道具、UI 时刻、吉祥物、笑点)。如果缺少,请运行 papercut-hook 和 papercut-script。
  • 用于挑选场景布置的背景图表:library/papercut/public/bg/backdrops/_sheet.jpg。只打开此步骤所需的内容。

1. 全局规则

将以下内容放在 STORYBOARD.md 顶部的 HOOK 区块下方。按角色设定调色板(每个场景轮换背景色):../papercut-explainer/references/style-guide.md 第 5 节。字体:第 6 节。画布和区域:第 4 节。适合用一个延展隐喻呈现的功能解锁,可以参考第 12 节。

  • 1080x1920,30 fps。横幅占画面高度的 14-21%,字幕带占 68-80%(按场景调整,避开人物面部),底部 20% 保持空白。
  • 光线从左上方照入。仅角色、字幕和信号使用高饱和度。

2. 镜头 / 转场表

在场景区块之前,每个场景一行。每行都要指定工具包 paper/camera.tsx 中的一个组件,以及切入该场景时使用的 CutSeries 类型(来自 paper/transitions.tsx)。

场景镜头(paper/camera.tsx)切入转场(CutSeries 类型)
S01HookOrbitCamera + Depth,对“”使用 SnapZoomnone
S04NameCrane 升至 tearAway
S09PeakCrabTrack 沿着 移动whip
S10CTARackFocus 从 转到手机tapePull
  • 镜头选项:OrbitCamera + Depth、SnapZoom、Crane、CrabTrack、DollyZoom、RackFocus、ForegroundPass、DutchTilt、FocusPulse、FreezeFrame、PullBack、PovMask、TimeRamp、TiltShift、FocusHunt、Handheld 和 CameraPush(来自 paper/kit.tsx)。目录中的 paper/camera.tsx 部分会说明每种镜头的适用场景。
  • 转场选项:hard、whip、zoomThrough、pageTurn、tearAway、tapePull、stampCut、infiniteZoom、popUpBook、keyhole、burnAway。
  • 普通的 CameraPush 最多用于三分之一的场景。
  • 将每行的镜头复制到对应场景区块的标题中。转场列填入 episode.json,格式为 "cuts": {"S04Name": {"kind": "tearAway"}}(未填写表示硬切),由 papercut-build 自动补全。

3. 场景区块

每个场景一个区块,时长 1.5-5 秒,按句子边界剪切:

## S03: <beat>  (5.6-8.2 s, 78 f)   BANNER: <TAKEAWAY IN CAPS>
Location/bg: <world location + bg colour>     Camera: <camera.tsx component + params, from the table>   Cut in: <kind>
Cast: <who, accessories>                       Caption band: y=0.76
| VO word (stressed) | frame | event                                    | motion spec                   |
| "<word>"           | +6    | <prop enters / state flips / acts>       | <spring/slide/swap + frames>  |
Ambient: <LED blink, idle bob, stars, screen waveform>
Boil: banner + labels, +-1.5 px every 2 frames
SFX: <pop, chime, click...>
  • 将布景表的每一行扩展成逐帧事件:每个重读词一个事件(每 0.4-0.8 秒),环境动作始终保持。帧的偏移量以词为基准,之后通过 cueOf(ID)(word, n) 读取。
  • 产品 UI 应粗略重建在纸质显示器或笔记本电脑上,并加入虚构交互(光标点击、打字、进度、波形、列表滚动)。
  • **佐证:**每条短片使用一次源页面的真实截图(通过 library/tools/capture.mjs 进行浏览器截图,而非重新绘制),将其贴在纸卡上,再用红色记号笔画圈,圈线自行绘制并标出关键行。其他内容均保持粗略剪纸风格的重建。
  • CTA 之前回访一次较早出现的场景布置。

4. 摄影机与转场规则

  • 每个场景都要有一个镜头运动。缓慢推进是基准。布光场景可加入视差环绕以增强纵深;在数字和笑点处,对重读词快速推近或急速变焦;加入前景掠过(模糊的纸质物体掠过镜头)或焦点转换;拉远以展现规模;在受挫吉祥物的桥段定格画面并加上标签。
  • 横幅变化时主要使用硬切。在 2-3 个主题切换处使用带运动模糊的甩镜;在进入屏幕、门或镜子「内部」时使用穿越式变焦;每条视频最多使用一次翻页或撕纸(用于揭晓或前后对比);最后用胶带拉出转入 CTA(使用普通牛皮纸胶带,可选添加 label 以印上文字)。
  • 从开场钩子切出时,要延续其中的运动。对 S01 和 S02 应用 papercut-hook 的规则。
  • 转场持续 6-12 帧,每个转场都要配上相应的音效(甩镜、变焦、翻页、撕纸、撕胶带)。
  • 在项目库中,使用套件的转场序列串接场景,这样每个场景都会从其 plan.json 指定的帧开始,确保语音保持同步。

5. 音效计划

  • 空气音效(呼啸、滑动、甩镜、变焦)合计每 2.5 s 视频时长最多使用一次。cues.py 会在超出时打印提示。以此为准,33 s 内使用 12 次没问题,26 s 内使用 24 次则会让人分心。
  • 入场时加入接触音效(弹出、砰击、盖章),或保持静音。在渲染音频前,先在 tools/cues.json 中统计。
  • 在每个区块的 SFX: 行中填写 library/audio/CATALOG.md 里的音效名称。场景 Agent 将实际条目写入 tools/cue_sheet.d/<Scene>.json。
  • 选择床音预设(episode.json 中的 "bed"),并设置 cutSfx 以匹配切换类型:tearAway 对应撕纸,tapePull 对应撕胶带。

检查清单

  • 每个场景都有摄影机运动和切入方式,且普通的 CameraPush 至多用于三分之一的场景。

  • 每个重读词都有对应事件;已列出环境运动。

  • 有一个佐证桥段、一个回环呼应,以及拉胶带或甩镜转入 CTA。

  • 翻页或撕纸最多一次;空气音效不超预算。

  • 在每个场景区块的事件表中注明预备动作和唯一的夸张桥段。12 条原则及其对应的套件组件见 ../papercut-explainer/references/motion-principles.md。

交接

接下来是 papercut-build,它会搭建项目,并将摄影机/切换表和场景边界转换为 episode.json。它会读取 STORYBOARD.md 和 narration/script.json。STORYBOARD.md 的 Timing 部分将在之后、语音完成后生成,因此请不要填写。

评论

支持 Markdown