基础¶
使用 ManimGX,你编写一段简短的 Python 程序,ManimGX 就会为其制作视频。本页将展示如何操作。
程序制作视频¶
这是一个 ManimGX 程序:
hello.py
import manimgx as m
class Hello(m.Scene):
def construct(self) -> None:
circle = m.Circle()
self.play(m.Create(circle))
self.wait()
将其保存到名为 hello.py 的文件中。然后,在终端中,在同一文件夹下,运行以下命令:
ManimGX 会在文件旁边制作这个视频 Hello.mp4:
这就是你使用 ManimGX 的方式:你编写一个程序,ManimGX 为其制作视频。
程序逐行解析¶
import manimgx as m- 以简短的名称
m为你提供 ManimGX 的全部内容:m.Scene、m.Circle、m.Create。 class Hello(m.Scene):- 创建一个场景。一个场景就是一段视频。它的名称就是视频的名称:场景
Hello制作Hello.mp4。 def construct(self) -> None:- 说明视频中发生的事情。ManimGX 从上到下运行
construct,每一行都按该顺序添加到视频中。 circle = m.Circle()- 创建一个圆。圆是一个 mobject:任何你可以在视频中展示的东西都是 mobject。形状、线条、文本、公式和图表都是 mobject。但创建一个 mobject 并不会展示它:在这一行,视频仍然是空的。
self.play(m.Create(circle))- 播放一个动画:
m.Create(circle)在一秒内画出圆。之后,圆就出现在视频中,并一直留在那里。 self.wait()- 让画面静止一秒。所以视频总长为两秒。
一步一步来¶
每个 self.play 在前一个结束时开始。时间只在 play 和 wait 中流逝:
这些动画用于显示和隐藏 mobject。你最常用的是:
m.Create(...)画出一个形状。m.Write(...)写出一段文本或一个公式。m.FadeIn(...)淡入一个 mobject。m.FadeOut(...)将其淡出,并将其移除。
self.wait(2) 等待 2 秒。不带数字时,它等待 1 秒。
立即显示 mobject¶
要无动画地显示一个 mobject,请添加它:self.add(circle)。圆从那一刻起就出现在视频中。self.remove(circle) 会立即将其移除。
一个文件中的多个场景¶
一个文件可以包含多个场景,每个场景都是一段视频。要制作其中之一,请在文件名之后给出其名称:
下一步¶
到目前为止,每个 mobject 都出现在视频的中间。位置将展示如何将每个 mobject 放到你想要的位置。