🐵
GitHubActionsでBlenderをレンダリング
GitHubActionsを用いてBlender(2.9)をレンダリングできたので残します。
レポジトリ
説明
注意
Blenderをインストール
ubuntuでblender(2.9)をインストールするにはsnapdを用いてインストールします。
そのため、apt install snapdでsnapdをインストールします。
まとめると、以下のシェルでBlenderをubuntuでインストールできます。
#!/bin/bash
sudo apt -y update
sudo apt list --upgradable
sudo apt install snapd
sudo snap install blender --classic
Blenderをコマンドからレンダリング
アニメーション
render_anim.sh
sudo blender --background -noaudio blend/Miraikomachi.blend --threads 0 -E CYCLES --render-output img/anim -s 1000 -e 1030 -a
-
--backgroundバックグラウンドでレンダリング -
-noaudio音なしでレンダリング -
blend/Miraikomachi.blendレンダリングしたいblendファイルを指定 -
--threads 0システムプロセッサ数には0を使用 -
-E CYCLESレンダリングエンジンを指定(BLENDER_EEVEEを指定するとエラーになります) -
--render-output img/anim画像を出力するときのファイル名(img/anim0001.pngのように画像が連番で出力される) -
-s 1000 -e 10301000フレームから1030フレームまでをレンダリングする -
-a画像を複数枚生成するときにつける
画像
render.sh
sudo blender --background -noaudio blend/Miraikomachi.blend --threads 0 -E CYCLES --render-output img/anim --render-frame 2310
-
--render-frame 23102310フレームをレンダリングする
詳しいコマンドの説明
コマンド一覧に出力ファイルで動画を指定できなかったのでPythonで動画を生成しました。
Pythonで連番画像から動画を生成
render_anim.sh
# 動画生成
sudo pip install opencv-python-headless==4.4.0.44
sudo python3 pngtomp4.py
opencvをインストールしてpngtomp4.pyを実行し、
render_anim.sh
sudo blender --background -noaudio blend/Miraikomachi.blend --threads 0 -E CYCLES --render-output img/anim -s 1000 -e 1030 -a
で作成したimgディレクトリにあるPNGの連番画像から動画を作成します。
最後に
PCでレンダリングすると、レンダリング中に行う他の作業に支障をきたしてしまう方はGitHubActionsでレンダリングしてはどうでしょうか。また、利用する際はGitHubActionsの実行時間の制限に注意しましょう。
Blender(2.8)では以下のようにインストールできますが、2.9ではインストールできませんでした。また、2.8と2.9では.blendのデータが異なるため、このレポジトリでは2.8のレンダリングはできません。
Discussion