嘿,兄弟们!老铁们!
不知道你们有没有刷B站或者油管的时候,看到过一种视频。就是那种讲数学、讲物理的,但画面干净得一批,动画效果丝滑得不像话。什么函数曲线"duang"地一下就画出来了,一个几何图形"唰"地一下就变成了另一个,还有各种粒子飞来飞去,简直酷到没朋友!
我说的就是 3Blue1Brown 那种风格的视频。

每次看到这种视频,我心里就犯嘀咕:这特么是用啥做的?AE?C4D?得是什么样的大神才能做出这种效果?感觉门槛高到天上去了吧?

直到有一天,我发现了这个项目的源码......我整个人都傻了。
兄dei,你敢信?这玩意儿,居然是用 Python 写的!
一个叫 Manim 的动画引擎,专门就是干这个的!
今天,我就带兄弟们来揭开这个神器的神秘面纱。别怕,一点都不难,保证你看完就能上手,以后不管你是想做个技术分享的视频装个逼,还是给女朋友解释个啥叫"心形线",都能信手拈来。从此,你不再是那个只会写 print("Hello World")
的小趴菜,你,就是导演!
别搞错了!有两个Manim,咱得选对"服务器"
在你摩拳擦掌准备开干之前,有个事我必须得先给你说清楚,免得你掉坑里。
这个 Manim 啊,它有两个版本。

- 一个是祖师爷版 (3b1b/manim):就是 3Blue1Brown 的作者 Grant Sanderson 自己写的那个版本。原汁原味,你可以把它想象成"官服",大佬自己用着顺手,但可能对新手不太友好,更新也比较佛系。
- 另一个是社区版 (ManimCE) :一群热爱这个项目的大佬,在祖师爷版本的基础上,搞出来的一个分支。你可以把它想象成一个"魔改BT服"。这个版本有啥好处呢?文档更全、功能更多、安装更方便,社区也更活跃,一堆人帮着你踩坑!

咱们这种就图一乐、想快速上手的"屌丝玩家",选哪个不用我多说了吧?无脑冲社区版 (ManimCE) 就对了! 这篇文章里我讲的所有东西,也都是基于这个社区版的。
"Hello World"级别的上手体验,三分钟让你高潮!
"道理我都懂,赶紧上代码!"
别急,马上就来。装环境这事儿我就不细说了,毕竟每个人的系统都不一样。这玩意儿需要先装几个它的小弟(依赖),比如 FFmpeg 什么的。你直接去它的官方文档看一眼,对着你的操作系统(Windows/Mac/Linux)复制粘贴几行命令,分分钟搞定。
官方文档地址:docs.manim.community/
环境装好了?来,让我们用一个最最简单的例子,感受一下用代码"导演"一部动画片是什么感觉。
新建一个 Python 文件,叫它 cool_animation.py
吧,然后把下面这段代码粘进去:
python
# 引入 Manim 的所有家伙事儿
from manim import *
# 定义一个"场景",你可以把它想象成一个电影的片段
class SquareToCircle(Scene):
# 这个 construct 方法就是你的"剧本"
def construct(self):
# 演员登场:先创建一个圆形
circle = Circle()
# 再创建一个方形
square = Square()
# 给方形来个骚操作:沿着右边翻转一下
square.flip(RIGHT)
# 再给它旋转一下(具体角度不用管,就是随便转转)
square.rotate(-3 * TAU / 8)
# 给圆形化个妆:填充个粉色,再来点半透明
circle.set_fill(PINK, opacity=0.5)
# --- 导演喊 Action! ---
# 第一幕:创建方形,时长 1 秒
self.play(Create(square))
# 暂停一下,让观众看清楚
self.wait(1)
# 第二幕:把方形"变身"成圆形,时长 1 秒
self.play(Transform(square, circle))
self.wait(1)
# 第三幕:让方形(现在已经是圆形的形状了)渐渐消失
self.play(FadeOut(square))
self.wait(1)
代码看懂没?是不是跟读小说一样简单?
- 建个场景
Scene
:这就是你的舞台。 - 写个剧本
construct
:所有的动画都发生在这里。 - 创建演员
Circle
,Square
:想让啥动,就创建啥。 - 调用
self.play()
:这就是全场最靓的仔!你把它当成导演喊 "Action!"。括号里放的就是具体的动作,比如Create
(创建)、Transform
(变形)、FadeOut
(消失)。
写完代码了?打开你的黑框框(终端/Terminal),cd 到你保存文件的那个目录,然后敲下这行神奇的咒语:
bash
manim -p -ql cool_animation.py SquareToCircle
敲下回车,你会看到终端里开始跑代码,几秒钟后,"duang" 的一下,你电脑里的视频播放器就自动弹出来了!
视频里,一个正方形凭空出现,然后丝滑地变成了一个粉色的半透明圆形,最后又优雅地消失。
卧槽!爽不爽!
就这么几行 Python 代码,你就完成了一个动画的"编、导、演"全过程!这种掌控一切的感觉,简直不要太棒!
等等,上面那行命令是啥意思?
manim -p -ql cool_animation.py SquareToCircle
manim
: 主命令,召唤 Manim 干活。-p
: preview 的缩写,意思是"预览"。视频渲染完了自动给老子打开!-ql
: quality low 的缩写,意思是"低画质"。咱就是自己看个乐,没必要整那么高清,低画质渲染得快,几秒钟就出结果,主打一个效率!cool_animation.py
: 你的剧本文件名。SquareToCircle
: 你要运行的那个"场景"的名字(就是 Class 的名字)。
是不是很简单?Manim 还有很多这种"懒人开关",比如:
-s
: 只看最后一帧的图片,不想看视频过程。-n 3
: 从第3个self.play()
动画开始渲染,前面的跳过,方便调试。
更多的骚操作,自己去翻文档,这里就不啰嗦了。
工作流是啥样的?一张图给你整明白
说了这么多,你可能还是有点懵。这玩意儿到底是怎么从代码变成视频的?来,我给你画个图,屌丝也能看懂的架构图。

看明白了吧?你就是总指挥,写好 Python 脚本,然后用 manim
命令一回车,剩下的脏活累活它全包了,最后直接把成品视频喂到你嘴边。
这玩意儿跟 AE、PPT 动画比,牛逼在哪?
可能有人会说:"搞个动画而已,我用 PPT、Keynote 也能做啊,要不我用 AE 也行,干嘛非得写代码,多费劲?"
问得好!来,我给你整个表格,让你看看 Manim 的B格到底高在哪里。
特性 | Manim (用代码做动画) | AE / Keynote / PPT (用GUI做动画) |
---|---|---|
精确性 | 王者! 坐标、时间、速度、路径,一切都是数学,精确到像素。想让一个点落在(3.14, 2.71)?直接写就行! | 弟弟。 全靠手拖、鼠标点、对齐线。想精确?累死你。 |
可复用性 | 极强! 你可以把一个动画封装成函数,到处调用。想做100个类似的动画?一个 for 循环就搞定了。 | 几乎为零。 每个动画都得手动 K 帧,想做100个?准备加班到天亮吧。 |
版本控制 | 天生支持! 代码天然可以用 Git 管理,每次修改都有记录,回滚、协作都极其方便。 | 噩梦。 你试试用 Git 管理一个 .pptx 或者 .aep 文件?改了一点点,整个文件都变了。 |
学习成本 | 对程序员来说,门槛较低。只要你懂点 Python 语法,就能上手。 | 对非设计人员来说,门槛较高。AE 的界面和概念就能劝退一大批人。 |
价格 | 完全免费!开源万岁! | 贵。 Adobe 全家桶的订阅费,你懂的。 |
装逼指数 | 🚀🚀🚀🚀🚀 (代码就是生产力,代码就是B格!) | ⭐⭐⭐ (平平无奇,泯然众人) |
简单来说:
- 如果你想做个数据可视化、算法演示、数学/物理科普,需要精确控制和批量生产,Manim 就是降维打击。
- 如果你要做的是那种商业广告、酷炫转场、光影特效,那还是专业的 AE 更合适。
但对于我们开发者来说,用自己最熟悉的武器------代码------去开辟一片新的创作领域,这种快感是无可替代的!
好了,不废话了,赶紧去试试!
今天就先吹到这里。我只是给你推开了一扇门,门后的新世界有多精彩,得靠你自己去探索。
想象一下:
- 下次你做技术分享,别再用干巴巴的 PPT 了。用 Manim 把你的数据结构、算法流程做成动画,台下的同事和领导看你的眼神都会不一样!
- 给孩子讲个数学题,别再用笔画了。一段代码,一个视频,清晰又直观,你就是孩子眼中最牛逼的极客老爸!
- 想在B站当个知识区 UP 主?Manim 就是你的入门神器,成本几乎为零,效果直接拉满!
心动不如行动!这玩意儿就是典型的"学了不一定天天用,但关键时刻能秀一脸"的神器。
赶紧把这篇文章点赞、在看、收藏 一波,但千万别光收藏吃灰啊! 打开你的电脑,把环境装上,把那个"方变圆"的例子跑一遍,去真真切切地感受一下那种用代码创造世界的快感!
冲吧,未来的动画大师们!