You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Manim场景生成PNG而非MP4求助:ThreeSquares输出黑屏PNG

问题排查与修复

你的代码存在两个关键错误,导致Manim无法执行动画逻辑,最终输出黑屏:

1. 场景入口方法名错误

Manim框架规定场景类必须实现construct方法作为动画入口,而你写的是constructor——这个方法不会被Manim识别调用,所以没有任何动画内容被执行,自然渲染出黑屏。

2. 等待方法未正确调用

self.wait是方法引用,必须加上括号self.wait()才能触发等待逻辑,否则这行代码不会产生任何实际效果。

修正后的完整代码

from manim import *    

class ThreeSquares(Scene):
    def construct(self):  # 修正方法名
        left_square = Square(color=BLUE, fill_opacity=0.7).shift(4 * LEFT)
        middle_square = Square(color=RED, fill_opacity=0.7)
        right_square = Square(color=GREEN, fill_opacity=0.7).shift(4 * RIGHT)
        self.play(Create(left_square), Create(middle_square), Create(right_square))
        self.play(Rotate(left_square, angle=PI), Rotate(right_square, angle=-1*PI), run_time=1)
        self.wait()  # 补充调用括号

渲染命令说明

你之前使用的两个低质量预览命令都是有效的,修正代码后重新执行任意一个即可生成正常的MP4动画:

  • manim -pql scene.py ThreeSquares
  • python -m manim scene.py ThreeSquares -p -ql

内容的提问来源于stack exchange,提问作者Alteria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 09:22:06