Scene 1: [Scene Name]
2026/9/10 3:11:29 网站建设 项目流程

Scene 1: [Scene Name]

【免费下载链接】OpenMontageWorld's first open-source, agentic video production system. 12 production pipelines, 100+ tools, 700+ agent skill and production-knowledge files. Turn your AI coding assistant into a full video production studio.项目地址: https://gitcode.com/GitHub_Trending/op/OpenMontage

Duration: ~X secondsPurpose: [本场景在整个叙事中完成什么]

Visual Elements

  • [Mobject 1: 描述、颜色、位置]
  • [Animation sequence]
  • [Camera movements if any]

Content

[足够具体、能让别人直接实现的视觉与概念描述]

Narration Notes

[要传达的要点、建议语气、节奏。不是完整脚本,而是指导]

Technical Notes

  • [要使用的具体 Manim 类]
  • [棘手实现与坑]
  • [对前面场景的依赖]
## 六大 3b1b 叙事模式 [references/narrative-patterns.md](https://link.gitcode.com/i/831670e4bdb0169c0ff6defee43a39ab) 总结了 3Blue1Brown 风格视频中反复出现的六种叙事结构,每种都给出结构、适用主题与开场钩子示例: | 模式 | 结构 | 适用主题 | 开场钩子示例 | |------|------|---------|-------------| | Mystery → Investigation → Resolution | 抛出反常结果 → 视觉探索为何为真 → 揭示底层原理 → 推广 | 欧拉恒等式、贝叶斯定理、无穷级数悖论 | "把一个数提升到虚数次幂到底是什么意思?" | | Build Up → Payoff | 引入简单积木 → 组合成复杂物 → 展示惊艳结果 → 反思为何成立 | 傅里叶级数、神经网络、线性代数 | "每一块都很简单,但合在一起却做成了不起的事……" | | Two Perspectives → Unity | 视角 A(代数)→ 视角 B(几何)→ 揭示本质同一 → 探索推论 | 点积、行列式、复数乘法 | "有两种思考方式……它们看起来完全不同,但是……" | | Wrong → Less Wrong → Right | 呈现常见误解 → 展示为何失败 → 修正方法 → 抵达正确理解 | 极限、概率分布、定义 | "你的第一直觉很可能是错的……" | | Specific → General | 解一个具体例子 → 发现规律 → 抽象为一般原理 → 应用于新情境 | 导数、群论、算法分析 | "先算一个具体例子……一旦看到规律,它无处不在……" | | History as Narrative | 按历史遭遇呈现问题 → 跟随发现之旅 → 展示关键洞见 → 联系现代理解 | 微积分、密码学、量子力学 | "想象你是 17 世纪的数学家……" | 文档还给出了两种组合建议:**Mystery hook + Build Up explanation**、**Two Perspectives + Specific → General**、**Wrong → Right + History narrative**。 ### 时长配比与情绪弧线 | 视频长度 | 开场钩子 | 主体内容 | 回顾/引申 | |---------|---------|---------|-----------| | 5–10 分钟 | 30–60 秒 | 4–8 分钟 | 30–60 秒 | | 15–20 分钟 | 1–2 分钟 | 12–16 分钟 | 1–2 分钟 | | 30+ 分钟 | 2–3 分钟 | 24–26 分钟 | 2–4 分钟 | 每支视频都应有情绪节拍:**好奇(开场)→ 困惑(早期)→ 部分清晰(中段)→ aha 时刻(高潮)→ 满足(结尾)**。 ## 核心可视化手法 [references/visual-techniques.md](https://link.gitcode.com/i/fc91a55dd798719db4ac418dc3da3c44) 是规划场景时"视觉元素该怎么做"的底层依据,从四个核心原则出发: 1. **渐进式披露(Progressive Disclosure)**:绝不一次性展示全部。坏例子是直接显示完整方程,好例子是逐项构建 —— 先 `f(x) = x²`,再加系数成 `f(x) = ax²`,最后给出完整 `f(x) = ax² + bx + c`; 2. **变换而非替换(Transform, Don't Replace)**:尽量把对象变形为新形态,而不是淡出/淡入。坏:`FadeOut(equation1)` + `FadeIn(equation2)`;好:`TransformMatchingTex(equation1, equation2)`,保持视觉连续性; 3. **颜色即语义(Color as Meaning)**:全片保持一致的颜色编码 —— 输入/已知值用 BLUE,输出/结果用 GREEN,讨论中的关键术语用 YELLOW 高亮,错误/负数用 RED,中性支持元素用 WHITE/GREY; 4. **空间关系(Spatial Relationships)**:位置编码关系 —— 从左到右表示变换/时间/因果,从上到下表示层级/推导,中心是注意力焦点,边缘是上下文参照。 ### 动画技法速查 参考文档给出了可直接落地的 Manim 片段: ```python # 高亮与聚焦 self.play(Indicate(term)) # 短暂闪烁吸引注意 self.play(Circumscribe(equation, color=YELLOW)) # 圆圈圈出重要元素 self.play(FlashAround(result)) # 揭示时刻的戏剧化强调 # 方程操作 equation.set_color_by_tex("x", BLUE) # 给特定项上色 step1 = MathTex(r"2x + 4 = 10") # 逐步推导 step2 = MathTex(r"2x = 6") step3 = MathTex(r"x = 3") # 几何直觉 axes = Axes(x_range=[-3, 3], y_range=[-2, 2]) # 坐标轴必须标注 labels = axes.get_axis_labels(x_label="x", y_label="f(x)") trace = TracedPath(dot.get_center, stroke_color=YELLOW) # 追踪点运动路径 area = axes.get_area(graph, x_range=[a, b], color=BLUE, opacity=0.5) # 积分/求和面积 # 3D 技巧 self.play(frame.animate.reorient(60, 70), run_time=3) # 相机环绕揭示 3D 结构

常用视觉隐喻

  • 向量作为箭头:位置向量从原点出发;加法用首尾相接(tip-to-tail);缩放是拉伸/收缩;
  • 函数作为机器:输入从一端进入 → 变换发生 → 输出从另一端出来;
  • 矩阵作为变换:展示网格被变换、追踪基向量去向、用面积缩放强调行列式;
  • 导数作为斜率:切线接触曲线、放大展示局部线性、随点移动动画化斜率变化;
  • 积分作为累积:黎曼和矩形、宽度→0 动画、曲线下方区域填充。

场景构图与节奏

  • 黄金布局:上方标题/上下文,中央最大区域为主可视化,底部三分之一放公式;
  • 并排对比:左"BEFORE/概念A"、右"AFTER/概念B";
  • 放大细节:主上下文旁边放放大的局部;
  • 节奏模式fast-fast-SLOW-fast-fast-SLOW,快速动画用于铺垫,关键时刻放慢。

时间指南(可直接写入场景规划):简单形状创建 0.5–1 秒,文字/方程书写 1–2 秒,变换 1–2 秒,相机移动 2–3 秒,吸收停顿 0.5–1 秒,复杂动画 2–4 秒。

三套配色方案

参考文档给出可直接复用的配色:

  • Classic 3b1b:背景#1C1C1C,主色#58C4DD(蓝),次色#83C167(绿),强调#FFFF00(黄),警示#FF6666(红);
  • High Contrast:背景#000000,主色#FFFFFF,强调#FFD700
  • Soft Academic:背景#2D2D2D,主色#6ECFFF,次色#98E898,强调#FFE66D

分镜实例:从模板到可实现的场景

references/scene-examples.md 提供了三个完整拆解示例,可直接作为编排新视频的参照系:

示例一:解释点积(Dot Product)

  • Scene 1 "The Question"(~30 秒):两支箭头向量 + 公式a·b = |a||b|cos(θ)+ 问号动画,用ArrowMathTex、对cos(θ)Indicate()
  • Scene 2 "Geometric Interpretation"(~90 秒):把 b 投影到 a 的虚线投影、直角标记、长度标签,用DashedLineRightAngleanimate.rotate()
  • Scene 3 "Numeric Connection"(~60 秒):坐标网格 + 分量高亮,验证a₁b₁ + a₂b₂与几何解释一致,用NumberPlaneBraceTransformMatchingTex

示例二:傅里叶级数入门—— 钩子场景(~45 秒)用ParametricFunction展示方波由光滑正弦波叠加而成,随后分场景引入频率/振幅/相位三个"旋钮"(ValueTracker+ updater 驱动),最后演示逐点叠加(VGroup+ 竖线可视化加法)。

示例三:矩阵作为线性变换—— 网格变换场景用NumberPlaneapply_matrix(),基向量决定一切的关键洞见场景用向量加法动画 +TransformMatchingShapes

场景转场模式:Zoom Focus(全场景→放大细节→解释→拉回)、Side-by-Side Build(左右逐步构建并连接)、Transform Chain(A→B→C 保持视觉连续)、Reset and Rebuild(清场→聚焦单元素→构建新复杂度)。

从分镜到渲染:与实现型技能衔接

scenes.md 完成后,实现阶段应切换到 manimce-best-practices(ManimCE)或 manimgl-best-practices(ManimGL)。manimce-best-practices 提供了实现层面的完整支撑:

  • 基础场景结构:Scene.construct()self.add()静态添加或self.play(Create(...))动画化;
  • 渲染命令:manim -pql scene.py MyScene(-ql 低清预览),质量档位-ql/-qm/-qh/-qk分别对应低/中/高/4K;
  • ManimCE 与 ManimGL 关键差异:导入from manim import *vsfrom manimlib import *,CLImanimvsmanimgl,数学文本MathTex(r"\pi")vsTex(R"\pi")
  • 安装与自检:pip install manim+manim checkhealth
  • 常见坑:版本混淆、导入错误、过时教程、manimpango 文本渲染问题、Windows 下 PATH 问题。

在 OpenMontage 的视频生产管线中,还应遵循 skills/creative/manim-usage.md 的落地约定:

项目约定
渲染质量成片-qh(1080p60),草稿-qm(720p30)
背景深色(BLACK#1a1a2e
同时呈现元素上限3–4 个新视觉元素
方程书写Writerun_time1.5–2.0 秒
形状创建Create/DrawBorderThenFill0.8–1.2 秒
揭示后停顿self.wait(1.5)起步
2D vs 3D默认 2D;仅当空间关系本身就是概念(曲面、叉积、法向量)时才用ThreeDScene,因为 3D 走 CPU Cairo 渲染,比 2D 慢 5–10 倍

若面向 OpenMontage 的 YouTube 横屏规格(1920×1080/30fps),可渲染-qh后转码至 30fps,或在配置中直接指定:

[CLI] pixel_width = 1920 pixel_height = 1080 frame_rate = 30

【免费下载链接】OpenMontageWorld's first open-source, agentic video production system. 12 production pipelines, 100+ tools, 700+ agent skill and production-knowledge files. Turn your AI coding assistant into a full video production studio.项目地址: https://gitcode.com/GitHub_Trending/op/OpenMontage

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询