ManimGX:在 Rust/wgpu 引擎上跑 Manim API,用 Python 做 3D 视频
Show HN: ManimGX – Manim's API on a Rust/wgpu engine, for 3D videos in Python
ManimGX 发布,这是一个兼容 Manim CE API 的 3D 动画引擎,基于 Rust 和 wgpu,可用 pip install manimgx 安装并在浏览器中运行。
面向智能体的极速 3D 动画引擎,兼容 Manim CE 的 API。
由 Rust 和 wgpu 驱动。用一条提示词或 pip 安装。在浏览器中运行。
36.2 秒的视频,3.08 秒渲染完成。在 Apple M4 Pro 上以 1080p60 渲染五个场景,从启动到生成 MP4,ManimGX 比 ManimCE 快 90.6 倍,比 ManimGL 快 11.5 倍,比 Blender Workbench 快 18.7 倍。测量方法:场景、设置以及每一次运行。
所有引擎均使用可用的最快编码预设。数值越低越好。
对比同一场景。2.5 秒处的连环环,由各引擎渲染。
| ManimGX | ManimCE | ManimGL | Blender Workbench | Blender EEVEE |
|---|---|---|---|---|
开始使用
用一条提示词。粘贴到 Claude Code、Codex 或 Cursor 中。你的智能体会处理安装配置:
Follow https://manimgx.academa.ai/llms.txt.
Install ManimGX, make a 3D animation of the solar system, and open it.
用 pip。在 macOS、Linux 或 Windows 上使用 Python 3.13+ 安装:
pip install manimgx
字体、排版和视频编码均已包含。 关于编辑器配置和引导式首个动画,请参阅 快速上手。
从 Python 到 MP4
将其保存为 scene.py:
import manimgx as m class Hello3D(m.ThreeDScene): def construct(self) -> None: self.set_camera_orientation(phi=65 * m.DEGREES, theta=-45 * m.DEGREES) self.begin_ambient_camera_rotation(rate=0.5) cube = m.Cube(side_length=3, fill_opacity=0.3, stroke_width=2) self.play(m.Create(cube), run_time=2) self.wait(4)
渲染它:
manimgx render scene.py
你会得到 Hello3D.mp4,一个 1080p60 视频:
为什么选择 ManimGX?
面向智能体时代的 3D 视频 API。你的智能体使用 Manim CE 的 API 编写 Python。 ManimGX 的 Rust + wgpu 引擎渲染 MP4,速度极快。
- 完全静态类型。包含关键字参数和
.animate链式调用。 - 2D 与 3D 结合。曲面、网格和移动摄像机,与文本、公式 和图表并存。
- 在浏览器中运行。
npm install manimgx。Pyodide 在 Web Worker 中运行 Python;WebGPU 渲染场景。 嵌入场景,无需渲染服务器。 - 智能体反馈。
manimgx inspect:分镜和 2D 布局检查,可在播放结束或你选择的时间点进行。 - 文本与数学。编写 LaTeX 或 Typst。无需安装 LaTeX。
- 语音同步。用
self.say()让动画与语音对齐。
文档
manimgx.academa.ai 提供指南、带源代码的渲染示例 以及 API 参考:
- 快速上手:安装、配置你的 编辑器,并渲染你的第一个场景。
- 用户指南:一次一个概念,学习场景、 动画、3D、文本和声音。
- 示例:观看完整影片并阅读制作它们的 Python 代码。
- API 参考:查阅类、方法 及其带类型的参数。
- 从 Manim CE 迁移: 改编现有场景并检查行为差异之处。
对于智能体,llms.txt 提供安装说明 以及以 Markdown 形式链接到文档的链接。
站在巨人的肩膀上
Grant Sanderson 创建了 Manim。ManimGX 以 Manim Community Edition 的 API 为目标,后者是广泛使用的 社区维护分支。
Rust 渲染器使用 wgpu 进行原生 GPU 渲染,并在 浏览器中使用 WebGPU。Typst 排版文本和数学, mitex 将 LaTeX 输入转换为 Typst。 x264 将原生视频导出编码为 H.264;FFmpeg 解码导入的音频,使用 libopus 处理 Opus。
Pyodide 在浏览器 worker 中运行 Python 场景。当没有合适的 GPU 可用时,Linux wheel 会捆绑 Mesa 的 lavapipe,以便在 CPU 上进行 Vulkan 渲染。
社区
问题、bug 报告和功能请求都从提交一个 issue 开始。 如需贡献,请阅读 贡献指南 和 开发者指南。
所有参与者都需遵守 行为准则。 请通过 安全政策 私下报告漏洞。
许可证
ManimGX 自身的代码采用 MIT 许可证。 原生 wheel 包含 x264,整体采用 GPL-3.0-or-later 许可证。
捆绑组件保留各自的许可证:请参阅 第三方声明、 Linux 渲染器声明, 以及 Noto 和 Noto CJK 字体许可证。
本软件使用了 FFmpeg 的代码,其采用
LGPL-2.1-or-later 许可证。
包括 FFmpeg 在内的完整源代码位于每个
GitHub release 的 manimgx-X.Y.Z-source.tar.xz 中。
来源:Hacker News · github.com








