Kurzgesagt风格解说视频
本技能负责创意方向。它决定视频的外观、运动、声音和文案。remotion-*技能决定如何用代码构建:请在编写任何合成之前先阅读remotion-best-practices(路由器)和remotion-markup,并在本技能提供的代码片段与之不一致时遵循这些技能。
该类型的成功之道在于:它让艰深的概念显得小巧、温暖而有趣,同时保持画面清晰。以下规则大多服务于这一目的:简洁的形状让概念易于理解;持续的轻柔运动让画面感觉生动;大幅度的缩放让数字或距离能直观感受,而非仅仅阅读。
十大风格规则
- 无轮廓。 形状通过填充、渐变和阴影面来定义。描边仅出现在图表线、图形和指针上,采用统一粗细和圆头端点。
- 圆润简单的几何形状。 圆形、胶囊形、圆角矩形、柔和团块。如果一个形状需要超过大约十二个路径点,请简化它。
- 深饱和背景,热烈强调色。 采用深色渐变背景(海军蓝、靛蓝、茄紫、深青绿),搭配一到两种鲜艳的强调色。冷暖对比将视线吸引到主体上。
- 光线有方向。 每个物体由基底色+阴影色(色调偏向蓝/紫,不仅仅是简单变暗)+高光细条构成。每个场景只有一个光照方向。
- 小而近乎无面的角色。 圆点眼睛,通常没有嘴巴,短粗四肢。情感通过姿态和运动传达,而非面部细节。
- 边缘繁忙,中心清晰。 背景层包含细小、低对比度的细节(星星、粒子、远距离形状)。主体则大胆、清晰,即使缩略图大小也能辨认。
- 没有任何东西是静止的。 闲逛漂移、缓慢推镜、视差效果、闪烁。定格帧会显得死气沉沉。
- 快入慢出。 元素以略带过冲的方式戏剧性地出现,并呈波浪式错开。淡出和镜头运动则柔和地结束。
- 缩放是主要特效。 穿过一个物体进入更小的世界,拉远展示某物有多小,重复图标直到数字落地。
- 文字要精炼。 内容由旁白承载。屏幕文字仅用于标签、数字和偶尔的笑点。
工作流程
分阶段进行,设有两个审批检查点。脚本和故事板修改成本低,动画修改成本高,因此在开始构建前务必达成一致。
- 简报。 仅询问缺失的信息:主题、受众、时长、宽高比、语音来源(用户录音、通过
remotion-markup的voiceover.md使用ElevenLabs,或静音占位)以及情绪基调。默认值:16:9、1920×1080、30 fps、3-5分钟。 - 研究 →
research/facts.md。创建一个包含声明|数字|来源|可信度的表格。切勿编造统计数据;将估算值标注为估算值。解说视频的好坏取决于其事实的准确性。 - 脚本 →
script.md。阅读references/script-and-structure.md。检查点:用户批准脚本。 - 故事板 →
storyboard.md,每个镜头一行(模板见脚本参考)。为每个镜头从references/scene-recipes.md中选择一个配方。检查点:用户批准故事板。 - 风格手册。 将
assets/theme.ts复制到src/kg/theme.ts。每个幕选择一套调色板(构成“色彩脚本”;参见references/visual-language.md),使情绪随着论证推进而变化。 - 构建。 首先构建
src/kg/中的共享原语(阴影形状、星空、角色、标签、摄像机装置),然后构建src/scenes/中每个场景的组件。阅读references/visual-language.md和references/motion-language.md。使用remotion-create构建脚手架,使用remotion-markup处理实现机制。 - 音频。 先录旁白,然后根据音频时间(使用
remotion-captions获取单词时间,使用calculateMetadata实现动态时长)推导每个镜头的持续时间。为每个主要入场添加背景音乐和一个柔和的“砰”或“嗖”音效(参见remotion-markup的sfx.md)。混音时旁白RMS约为-20 dB,背景音乐比其低约8 dB,峰值不超过-1 dBFS。文本转语音文件通常峰值为0 dBFS,因此在添加任何其他内容前,先将旁白缩放到约0.8(详见references/motion-language.md)。 - 质量保证和渲染。 在每个关键节拍处、第0帧处以及每个场景边界的两侧渲染静帧。运行下面的检查清单,使用
remotion-render渲染,然后检查结果的音频电平。
项目目录结构
src/
kg/theme.ts 调色板、阴影色阶、缓动预设
kg/primitives/ ShadedSphere, StarField, Character, Label, CameraRig, ...
scenes/NN-name.tsx 每个故事板镜头组一个场景
Video.tsx 编排场景序列;控制音频
public/ 旁白、音乐、音效
research/facts.md
script.md
storyboard.md
环境注意事项
- Windows:请保持项目路径简短。 Remotion启动的工具(esbuild、渲染器、无头Chrome)在其解析路径超过260个字符时会因
ENOENT而失败。在AppData内或深层会话文件夹中很容易达到此限制,系统解析后路径会变得更长。请将项目搭建在类似于D:\my-video的位置,并在构建任何内容之前先渲染一个静帧。 - Remotion捆绑的ffmpeg是一个最小化构建,不包含
volumedetect滤镜。要检查电平,请将渲染结果解码为WAV(npx remotion ffmpeg -i out.mp4 -vn -ac 1 -c:a pcm_s16le check.wav),然后通过一个简短脚本来计算峰值和RMS。
渲染前检查清单
在每个场景的开始、中间和结尾处渲染的静帧上,以及第0帧和每个场景边界两侧的帧上运行此检查清单。
- 是否有任何形状上出现了非图表线的轮廓?请移除它。
- 每个物体是否有阴影面和高光,且光照方向与场景一致?
- 画面中是否最多只有2种强调色加上背景色系?
- 在缩放到25%大小时,主体是否仍然清晰可辨?如果否,请放大它或降低外围的对比度。
- 场景的每一秒中是否有物体在运动(闲逛动作、摄像机、粒子)?
- 新的视觉节拍是否至少每2-4秒出现一次,且通常与一句话对齐?
- 屏幕上的文字是否不超过6个词,在1080p下至少36像素,且采用句子大小写?
- 屏幕上的每个数字是否都能在
research/facts.md中找到来源? - 每个发光效果是否都是单一渐变(无堆叠色带),且任何在画面外等待的物体在第0帧是否没有可见的发光?
- 暗角效果是否轻微(角落约35%)并带有紫色调,以避免明亮主体变得暗淡?
- 正在放大的主体旁边的文字是否保持了与主体最大尺寸的间距,且计数器的框是否能够容纳其最宽的值?
- 渲染后:音频峰值是否低于或等于-1 dBFS,且旁白是否明显高于音乐背景?
护栏规则
- 原创性。 这种视觉风格是一种类型片,而非频道的品牌标识。不要在输出中使用Kurzgesagt名称、徽标、片头/片尾或其特定角色(例如其鸟形图标)。设计原创角色和原创结尾卡片,不要将视频呈现为该频道出品的作品。
- 准确性。 解说视频旨在教育,因此有来源的事实比漂亮的画面更重要。在旁白中明确表达不确定性(例如“科学家估计……”),而不是四舍五入掩盖,并在视频末尾包含来源列表。
- 可访问性。 添加字幕(使用
remotion-captions)。避免快于每秒3次的闪烁,包括全帧缩放穿越的闪光。不要仅通过颜色编码图表序列;应直接标注它们。 - 沉重话题。 可爱的画面搭配严肃的主题是该类型的魅力所在,但也存在风险。对于死亡、疾病、战争或贫穷,请保持画面简洁,并避免玩笑。
参考文件
| 阅读此文件 | 适用场景 |
|---|---|
references/visual-language.md | 选择调色板、绘制带阴影的形状、背景、角色、排版、构图、物体绘制配方 |
references/motion-language.md | 编写任何动画:缓动、弹出式入场、闲逛动作、摄像机、视差、缩放穿越、图表、时间控制 |
references/script-and-structure.md | 编写旁白、规划叙事弧线、节奏控制、事实清单、镜头列表 |
references/scene-recipes.md | 规划每个镜头:规模揭示、人群镜头、切出镜头、时间线快进、过程图表等 |
assets/theme.ts | 设计令牌的起点(调色板、阴影色阶、缓动预设) |