动画解说视频
在规划、撰写、动画制作或审阅视频时应用这些规则。故事规则优先:一个画面精美的视频配上平淡的剧本依然是失败的。
制作视频
当用户需要一个实际的视频文件时,使用本技能中的模板,通过 Remotion(以及用于 3D 的 Three.js)进行构建。
- 故事优先。 使用下面的“故事”规则,将剧本写成节拍(一个节拍一个想法)。在检查其他一切之前,先检查第一句话和开头的几秒钟。
- 项目。 将
template/复制到一个新文件夹,然后运行npm install。在编写代码前阅读reference/remotion.md,在编写任何 3D 场景前阅读reference/threejs.md。 - 语音。 如果用户提供了旁白(他们自己的录音或任何文本转语音文件),将其放入
public/并在public/plan.json中设置"voice"。如果没有提供,则将每行文本放入其场景的"text"中,然后运行npm run voice(免费的 Kokoro 语音,英语):它会生成public/voice.wav并设置每个场景的开始和结束时间。使用node scripts/voice.mjs am_michael(男声)或默认的af_heart(女声)来选择声音。 - 时间。 运行
npm run captions来获取单词时间戳。对于你自己的语音文件,将每个场景的开始时间设置为其所显示行中第一个单词的出现时间;使用npm run voice时,这一步已经完成。 - 场景。 在
src/scenes/中为每个场景编写一个组件,注册它,并在plan.json中列出所有场景。每个口头表述的行都应该有自己的视觉画面。 - 检查。 在每个场景的开头、中间和结尾处渲染静态画面(
npx remotion still Main out/still.png --frame=N),查看它们,并修复任何违反以下规则的问题。 - 渲染。 运行
npm run render生成out/video.mp4。在宣布完成之前,再次观看前 3 秒。
要求:Node.js 18+ 和 ffmpeg。Remotion 在首次渲染时会下载自己的无头 Chrome。
故事
- 每个视频都是一个微型故事:一个角色想要某样东西,某样东西阻止了它,发生了一个转折,有一个回报。一系列事实不是故事。
- 第一句话是一个大胆的主张、一个与人们普遍认知相矛盾的说法、或者一个带有问题的角色。
- 好的例子:“你厨房里的某样东西正在杀死你。”/“我一直以为电脑比人更擅长数学。”/“这是唐叔叔,他有个大麻烦。”
- 坏的例子:“X 是如何工作的?”/“这里有 3 个工具可以...”/“今天我们将看看...”。如果视频要回答一个“如何”类的问题,请将该问题移到第二句。
- 在前 3 秒内提出一个问题或制造一种紧张感,答案留到后面揭晓。不要把转折点用在钩子里。
- 选择广泛或时事性的主题。小众主题需要一个任何人都能感同身受的日常切入点。
- 强有力的开场白拯救不了糟糕的主题。先决定主题,再写钩子。
- 每个视频独立成篇。不要有“第二部分”,不要有延续之前视频的开场白,不要有通用的实用工具清单。
- 展示,而非告知:每一个口头表述的句子都要有其对应的独立视觉画面。如果视频静音也能看懂,说明场景工作到位了。
- 一个场景一个想法。如果一句台词包含两个想法,将其拆分为两个场景。
- 逐步升级:每个节拍都应比上一个节拍更增加风险或出乎意料。
- 以一句观众可以复述或使用的话结尾(一个可以问的问题,一个经验法则),而不是总结。
- 时长是自由选择的:使用故事所需的时长。在长视频中,至少每 60-90 秒提供一次小回报。
构图(垂直 1080x1920,除非另有说明)
- 将主要主体保持在上中部区域,约 y = 500-1100。
- 底部约 20%(y > 1500)位于平台 UI 下方:此处不要放置关键视觉元素。字幕应放在其正上方。
- 两侧保持约 60 像素的边缘距离。右边缘(x > 960,y 900-1700)保持空白,不要放置关键信息,因为点赞和评论按钮在那里。
- 在垂直视频中,居中构图通常效果最好。对于包含两个主体的场景,使用三分法。
- 每个画面中有一个主导元素。所有其他元素应更小、更暗或饱和度更低。
- 在关键时刻,角色的脸至少应占画面宽度的约 15%。
开场秒数
- 在第 0 帧开始说话。没有静默的开场,没有 Logo。
- 在前 1-2 秒内,必须有视觉可见的变化:一个新物体、一个移动、一个变换。没有静态标题卡。
- 可选:在第一帧中使用大号文字。如果使用,它应该陈述主张,而不是装饰。
- 可选:在第一帧中出现人脸。一个强有力的角色或图像同样有效。
镜头(2D 和 3D)
- 每一个镜头运动都有动机:它跟随一个角色、揭示信息或增加强调。没有装饰性运动。
- 绝不要线性移动:始终缓入缓出。
- 揭示 = 慢推入(在 1-3 秒内从 1.0 缩放到 1.1-1.25)。冲击 = 快速冲入(0.15-0.25 秒)并伴随轻微抖动。
- 新地点:先展示全景,再近景。
- 低角度 = 力量或威胁,高角度 = 渺小或无助,平视 = 中立。
- 如果两个角色面对面,在整个场景中保持各自在自己的侧面。
- 在 3D 中:FOV 35-50 度,利用前景、中景和背景层营造深度。移动相机(推拉镜头),而不是改变 FOV(变焦)。
- 在 3D 卡通场景中,使用线性色调映射并略微提高饱和度;胶片色调映射会使卡通色彩变淡。
剪辑与节奏
- 开场之后,节奏遵循风格。一个快速的第一个瞬间比一个快速的整段视频更重要。
- 视线追踪:新镜头中的兴趣点应起始于上一个镜头中兴趣点的位置。
- 匹配剪辑:一个场景结束时的形状或颜色,成为下一个场景开始时的形状或颜色。
- 在笑点或妙语之后,停顿 0.3-0.6 秒再切换。
- 在关键时刻之前放慢节奏,在关键时刻之后加快节奏。
- 动作中切换镜头:在动作进行中切换,而不是在其停止后。
- 不要使用白色闪光或频闪过渡。使用快速摇摄、匹配剪辑和擦除。
角色动画
- 每次撞击和跳跃时都有挤压和拉伸(缩放 0.8-1.25,大致保持体积)。
- 预备动作:在大动作之前向相反方向做一个小移动(0.1-0.2 秒)。
- 跟随动作:头发、天线和手臂在身体停止后继续移动并慢慢停下。
- 肢体和抛出的物体沿弧线运动,绝不在直线上运动。
- 眨眼、呼吸和待机摇摆永不停止,即使在场景等待时也如此。
- 时间控制体现重量:重的物体移动缓慢且落地沉重,轻的物体移动快速。
- 夸张情绪:大眼睛、大嘴型、飞溅的汗滴。
- 每个姿势都有一个清晰的剪影。如果该姿势无法被理解为一个黑色形状,请更改。
文字与字幕
- 字幕:每组 2-5 个词,与语音同步,弹出式出现,高对比度(白色加深色轮廓)。
- 仅在关键时刻使用大的动态文字,并且屏幕上一次只显示一组大的文字。
- 屏幕上的数字必须与旁白和来源完全一致。
语音
- 句子简短,口语化节奏,使用缩略形式(如“it's”、“didn't”)。
- 语速约为每分钟 170-200 个单词。
- 节拍之间留 0.2-0.4 秒的静默,最后一句之前留 0.6-1.0 秒。
诚信
- 屏幕上的每个数字都必须有真实的来源并与之一致。
- 绝不要在旁白中放置创作者实际上并未做过的第一人称声称。
- 恶搞标题使用明显虚构的名称,绝不模仿真实媒体。