📌 项目地址:3b1b/manim | ⭐ 90,762 颗星 | 🔧 Python | 📜 未标注
这个项目到底是什么
3Blue1Brown 的视频里那些丝滑的数学动画,不是 AE 手工拉的,是写 Python 代码生成的。Manim 就是这个生成引擎。你把坐标轴、函数曲线、几何图形、公式写成对象,用代码描述“什么在动、怎么动、何时动”,它替你逐帧渲染出来。
这个仓库是 3b1b 作者 Grant Sanderson 的个人项目版本,社区常叫它 ManimGL。注意,2020 年有一群开发者 fork 出去做了社区版(ManimCommunity/manim),两个版本不兼容,安装命令完全不一样。网上搜教程时,先确认对方用的是哪个版本,否则照抄命令大概率会装错。
版本陷阱:最容易翻车的地方
README 里第 6 行就用加粗警告写明:这套安装说明只适用于 ManimGL。试图用这里的说明装社区版,或者用社区版的说明装这个版本,都会出问题。
直接说最关键的坑:
- 这个仓库对应的包名是
manimgl,不是manim,也不是manimlib - 社区版对应的包名是
manim - 两者安装命令不同,API 也不同
判断自己看的是哪个版本,最简单的标准就是安装命令:pip install manimgl 是本文这个仓库,pip install manim 是社区版。
安装实测
环境要求是 Python 3.10 或更高,系统依赖 FFmpeg、OpenGL,LaTeX 可选(渲染公式才需要)。Linux 下还要装 Pango 开发头文件。
直接装:
pip install manimgl
装完试一下:
manimgl
这条命令会启动一个交互式演示。我跑了下,能直接看到基础场景在动。
想渲染仓库自带的示例场景,在仓库目录下执行:
manimgl example_scenes.py OpeningManimExample
还有一条等价的旧命令:
manim-render example_scenes.py OpeningManimExample
两条都行,我试了下,效果一样。
如果打算改 manimlib 源码,克隆仓库后执行:
pip install -e .
装的是可编辑版本,改完代码立即生效,不用重装。
Linux 下的额外步骤
Ubuntu/Debian 系统需要先装这些:
sudo apt update
sudo apt install ffmpeg
sudo apt install python3-pip
sudo apt install libpango1.0-dev
libpango1.0-dev 是必须的,不装的话运行时可能报错。
LaTeX 是可选。装的话推荐这套轻量组合:
sudo apt install texlive-science texlive-fonts-extra texlive-latex-extra
比装完整的 texlive-full 小很多,但已经覆盖大多数 Manim 项目的 LaTeX 需求。不装的话,涉及公式渲染的动画跑不了,基础图形不受影响。
两个版本怎么选
社区版的目标是更稳定、更好测试、更快响应社区贡献,折腾成本低。ManimGL 跟随 3b1b 自己的视频创作节奏更新,API 可能随时变动。
我的看法:想长期稳定产出内容,用社区版。想紧跟原作者的思路,理解 3b1b 视频背后的实现方式,研究这个仓库。两个版本都不是玩具,但定位明显不同。这个仓库价值在于它是原创源头,而且至今仍在推动 3B1B 视频的视觉呈现方式。
一个容易忽略的事
项目描述里那句话很关键:“precise programmatic animations”。精确是 Manim 的核心诉求。数学动画最怕的不是丑,是表达不准确。用代码写动画,本质上把“这个动画表达了什么”变成了一段可审查、可修改、可版本控制的文本。这一点对教学场景格外重要,因为内容错了可以精准定位到某一行,而不是在一帧一帧的视频里找。这个思维方式和直接拖拽视频剪辑软件完全不同,适合愿意用代码控制一切的人。