ManimGX:用 Rust 加 wgpu 重写的 Manim 兼容 3D 动画引擎
ManimGX 兼容 Manim CE API,改用 Rust 加 wgpu 渲染:官方基准 36.2 秒视频 3.08 秒出片,快 90.6 倍。
项目资料
GitHub Ecosystem- 许可证
- MIT
- 主语言
- Python
- 星标
- 1,536
- 核查时间
- 2026-10-16
以上快照资料以核查当日为准,可能随版本或运营策略变化。
用 Manim 做数学动画的人大概都等过:改一行代码,然后看着 CPU 一帧帧啃。10 月 16 日 WhatsApp 分享的 ManimGX(Python API + Rust 引擎,MIT,截至 2026-10-16 约 1.5k star)把渲染核心换成了 Rust 加 wgpu,同时保留 Manim CE 的 API——同一个 scene.py,manimgx render 直接出 1080p60 的 MP4。
核心功能
- API 兼容 Manim CE:agent 或人照旧写 Python 的
ThreeDScene、self.play()、.animate链;不同的是底层渲染器。官方定位是「给 agent 的 3D 动画引擎」。 - 官方基准,条件写清楚:五个场景共 36.2 秒视频,在 Apple M4 Pro 上 1080p60,从启动到出片 3.08 秒——对比 ManimCE 278.83 秒(90.6×)、ManimGL 35.28 秒(11.5×)、Blender Workbench 57.61 秒(18.7×)、Blender EEVEE 601.40 秒。所有引擎用各自最快的编码预设;README 附了同场景画质对比图,场景、设置与每次运行记录都在
benchmarks/目录。 - 2D 与 3D 同一画布:曲面、网格、运动相机和文字、公式、图表放在一个场景里;支持 LaTeX 与 Typst 排版,不需要本地装 LaTeX。
- 能跑在浏览器里:
npm install manimgx,Pyodide 在 Web Worker 里跑 Python,WebGPU 渲染;可以把场景嵌进网页,不需要渲染服务器。 - 给 agent 的反馈通道:
manimgx inspect出分镜与 2D 布局检查,可指定在播放结束或任意时间点检查。 - 语音同步:
self.say()让动画对上说话的字词。
典型使用场景
- 做数学/科学讲解视频的创作者:迭代速度快一个数量级,改一帧不用等一杯咖啡。
- 让 agent 生成教学动画的开发者:README 直接给了 prompt 用法——贴一段「Follow https://manimgx.academa.ai/llms.txt,装 ManimGX,做太阳系 3D 动画并打开」,agent 自己完成安装。
- 要把动画嵌进网页的团队:浏览器渲染路径省掉一台渲染服务器。
快速上手
pip install manimgx # 需要 Python 3.13+,macOS / Linux / Windows
把 README 里的 scene.py 存盘,然后:
manimgx render scene.py
得到 Hello3D.mp4。字体、排版和视频编码都随包带上,不用额外装依赖。
第一次跑建议先做两件事:用一个简单场景确认渲染管线通(README 的 Hello3D 就够),再跑一次 manimgx inspect 看分镜检查输出是什么样——后者是 agent 自动验证动画是否达标的通道,早一点习惯它比事后返工省时间。
小结
适合用 Manim 做数学与科学动画、又被渲染速度折磨的人,以及要让 agent 产出可嵌入网页动画的团队;不适合需要 Manim 生态全部社区场景兼容的老项目——README 声称 API 兼容,但社区 Scene 子类的边角行为需自行验证。Python API + Rust/wgpu 内核,MIT,截至 2026-10-16 是 1536 star、最近推送 2026-10-15,项目活跃。
基准数字要带着条件读:90.6 倍是五个特定场景在 M4 Pro 上、各自最快编码预设下的对比,不等于所有场景的通用加速比;换个硬件或复杂场景,比例会变。要的是「一句话出片」的完整视频流水线而不是可编程动画引擎,站内此前的 MoneyPrinterTurbo 与 ComfyUI 是另外两条路。