はじめに
この記事では、blenderでのレンダリングを、Google Colaboratoryを用いて実行する方法についてまとめています。
Colaboratoryとは?
Googleが提供している、無料でGPUが使えるPython実行環境です。
もう一度言います、無料でGPUが使えます。
こんなひと向け
- ノートブックしか持ってないけどレンダリング短縮したい!
- 自分のマシンで作業して裏でレンダリングしたい!
- 寝てるときファンがうるさいからリモートでレンダリングしたい!
環境
- blender 2.91.0
2.8以降が対応しています。
blendファイルの準備
blendファイル
今回は、公式デモで配布されているClass room
を使用しました。
レンダリング設定の変更(デノイズの有効化)
ダウンロード後、classroom.blend
を一度開き、レンダープロパティ>サンプリング>デノイズ>レンダー
を有効化し、上書き保存しました。
Googleドライブへのアップロード
今回はマイドライブ内にblender
フォルダを作成し、その中にclassroom
をアップロードしました。
また、レンダリング結果の保存用のフォルダとして、classroom
内にoutput
フォルダを新規作成しました。
Colaboratoryの準備
ノートブックのコピー
donmahallem/colab_blenderを利用します。
Open in Colab
をクリックしてください。ノートブックが開くので、上部のドライブにコピーを選択してください。
コピーされたノートブックはGoogleドライブのマイドライブ、Colab Notebooks
内に保存されます。
Setupの記述
-
blender_version
blenderのバージョンを指定します。今回は2.90.1を選択しました。 -
path_to_blend
blendファイルのパスを入力します。
今回はblender/classroom/classroom.blend
となりました。 -
output_path
出力先のフォルダを入力します。blender/classroom/output/
を指定しました。
レンダリング結果は[(フレーム番号).png]の形式で保存されます。 -
gpu_enabled
Trueのままにします。 -
cpu_enabled
今回はTrueにしました。レンダリングが上手く行かない場合はFalseにしてください。
レンダリングするフレームの指定
すべてのフレームを出力する場合
特別な操作は必要ありません。次のセクションで最後から2つ目のコードをそのまま実行してください。
一部のフレームを出力する場合
最後から2つ目のコードを編集します。末尾の-a
の前に-s [開始フレーム] -e [終了フレーム]
を追記します。
Ex.) 10から30フレームを出力する。
!sudo ./$blender_version/blender -P './setgpu.py' -b '/gdrive/My Drive/{path_to_blend}' -E CYCLES -o '/gdrive/My Drive/{output_path}' -s 10 -e 30 -a
末尾の-a
の前に-s 10 -e 30
を追記します。
任意の1フレームを出力する場合
最後のコードの-f
のあとの数字を出力したいフレーム番号に変更します。
Ex.) 30フレーム目を出力する。
!sudo ./$blender_version/blender -P 'setgpu.py' -b '/gdrive/My Drive/{path_to_blend}' -P 'setgpu.py' -o '/gdrive/My Drive/{output_path}' -f 30
レンダリングする
Googleドライブ認証まで
上から順番に各コードを実行するだけです。
各セルの左上の実行ボタンをクリックしてください。実行が終了次第、次のセルを順番に実行してください。
Googleドライブ認証
このセルでは、Googleドライブの認証が行われます。リンクを押すとGoogleドライブの認証画面が開きます。
許可を押すとトークンが表示されるので、コピーして先ほどを枠内に貼り付けてEnterを入力してください。
レンダリング実行
2回目以降のレンダリング
レンダリング2回目以降は、1つ目のセルのSetup
と最後のレンダリング実行のセルを実行するだけで大丈夫です。
セッションが切れた場合は同じ手順で実行してください。
トラブルシューティング
レンダリング途中で止まってしまった
Colaboratoryは90分間操作がないと終了します。また、1つのセッションは12時間が上限です。
90分切れの対策は以下の記事が参考になります。
Google Colaboratoryの90分セッション切れ対策【自動接続】
めちゃくちゃ遅い
たまにデノイズが働かなかったりレンダリングがめちゃくちゃ遅いときがあります。セッションを終了して、もう一度最初からすると、うまくいく気がします。