Manimを使えば、アニメーションをプログラムで作成できます。
もっと言えば、Manimにより動画をプログラムから作れます。
動画の自動作成まで夢が広がります。
自動作成は無理としても、動画作成の生産性は向上できそうです。
本記事の内容
- Manimとは?
- Manimのシステム要件
- Manimのインストール
- Manimの動作確認
それでは、上記に沿って解説していきます。
Manimとは?
Manimは、プログラムによる精密なアニメーションのためのエンジンです。
もともとは、数学の解説ビデオを作成するために設計されました。
その解説ビデオは、以下のYouTubeチャンネルで見ることができます。
チャンネル登録者数が、354万人(2021年3月時点)というのは、単純にスゴイです。
https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw
上記の3Blue1Brownチャンネルには、多くの動画が投稿されています。
それらを見れば、Manimで作成できる動画(アニメーション)を知ることができるでしょう。
また、公式のサンプルページも参考になります。
https://docs.manim.community/en/latest/examples.html
数学だけではなく、理科でも利用できるでしょう。
もっと言えば、動きを説明するシーンがあればどんな分野でも使えそうです。
以上、Manimに関しての説明でした。
次は、このManimのシステム要件についての説明です。
Manimのシステム要件
現時点では、Manimの最新バージョンが0.4.0となります。
この最新バージョンが公開されたのは、2021年3月4日です。
見てきたように、Manimは動画まで作成可能です。
でも、動画作成の肝となる部分は他のソフトウェアに依存しています。
それらを含めたManimのシステム要件は、以下となります。
- FFmpeg
- LaTex
- Python
それぞれを下記で説明します。
FFmpeg
FFmpegは、動画や音声を記録・再生・変換するためのソフトウェアです。
プログラミングにおいて動画処理と言えば、FFmpegと言えるでしょう。
Manimは、FFmpegを利用しています。
そのため、FFmpegのインストールが前提となります。
FFmpegのインストールに関しては、以下の記事で解説しています。
詳細は、「FFmpegのダウンロード・インストール」をご覧ください。
LaTex
LaTex(ラテフ)は、テキストベースの組版処理システムのことです。
一言で言うと、LaTexは論文執筆ツールと言えます。
動画上でテキストを扱うことケースも出てくるでしょう。
その場合に、LaTexを利用することになります。
LaTexのインストールには、2つの方法があります。
- ManimLaTeX(Texliveベース)[500MB]
- MiKTex[2GB]
MiKTexのインストールに関しては、以下の記事で説明しています。
また、ManimLaTeXのインストールにはChocolateyが必要となります。
Chocolateyは、Windows環境におけるパッケージ管理システムのことです。
Linuxにおけるaptやyumのようなモノと言えます。
Chocolateyがあれば、FFmpegもChocolateyでインストール可能になります。
Chocolateyで管理したい場合は、Chocolateyを使うのもアリでしょう。
ただ、個人的にはChocolateyを使う予定はありません。
Chocolateyがもっと普及すれば、使うかもしれませんけどね。
Python
正式にサポート対象となるのは、以下のバージョンです。
- Python 3.6
- Python 3.7
- Python 3.8
- Python 3.9
必要なら、適宜バージョンアップを実施してください。
なお、今回は以下のPythonバージョンを利用しています。
>python -V Python 3.9.1
Manimのインストール
最初に、現状のインストール済みパッケージを確認しておきます。
>pip list Package Version ---------- ------- pip 21.0.1 setuptools 54.1.2
次にするべきことは、pip自体の更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip
では、Manimのインストールです。
Manimのインストールは、以下のコマンドとなります。
pip install manim
インストールは、結構時間がかかります。
では、どんなパッケージがインストールされたのかを確認しましょう。
>pip list Package Version ----------------- ------- colorama 0.4.4 colour 0.1.5 commonmark 0.9.1 decorator 4.4.2 manim 0.4.0 ManimPango 0.2.4 networkx 2.5 numpy 1.20.1 Pillow 8.1.2 pip 21.0.1 pycairo 1.20.0 pydub 0.25.1 Pygments 2.8.1 rich 6.2.0 scipy 1.6.1 setuptools 54.1.2 tqdm 4.59.0 typing-extensions 3.7.4.3
結構な量のパッケージが、インストールされました。
それだけいろいろなパッケージに依存しているということでしょう。
以上、 Manimのインストールが完了しました。
次は、 Manimの動作確認を行いましょう。
Manimの動作確認
コマンドを使って、動画を作成することになります。
よって、コマンドとしての利用できるかから確認しましょう。
コマンドプロンプトかPowerShellを起動します。
起動したら、以下のコマンドを実行。
>manim --version Manim Community v0.4.0 Manim Community v0.4.0
インストールしたバージョンが、確認できます。
では、次にプログラミングで動画を作成していきましょう。
確認しやすいように、projectフォルダを作成します。
projectフォルダにscene.pyという名前でPythonスクリプトを作ります。
コードは、以下の内容とします。
from manim import * class SquareToCircle(Scene): def construct(self): circle = Circle() # create a circle circle.set_fill(PINK, opacity=0.5) # set the color and transparency self.play(ShowCreation(circle)) # show the circle on screen
公開されているサンプルコードをそのまま利用しましょう。
scene.pyを用意できたら、projectフォルダに移動します。
そこで以下のコマンドを実行。
>manim scene.py SquareToCircle -pqlManim Community v0.4.0[03/17/21 13:35:28] INFO Animation 0 : Partial movie file written in scene_file_writer.py:382 {'D:\\project\\media\\videos\\scene\\480p15\\partial_movie_files\\SquareToCircle\\3163782288_1673468481_2905212399.mp4'} INFO scene_file_writer.py:563 File ready at D:\project\media\videos\scene\480p15\SquareToCircle.mp4 INFO Rendered SquareToCircle scene.py:175 Played 1 animations
コンソールには、上記のような表示が出てきます。
同時に、以下の動画が別画面で表示されます。
(動画では1回のみ表示)
なお、上記コンソールで表示されたパスにmp4形式で動画が保存されています。
以上にて、Manimの動作確認は完了となります。