Tips

modoのバッチレンダリング

modoのヘッドレスモードを使用したバッチレンダリングの使い方について書いてみたいと思います。
複数のシーンを連続してレンダリングする場合に便利です。

 

ヘッドレスモードとは

ヘッドレスモードはGUIのないmodoです。WindowsのコマンドプロンプトやOS Xのターミナルを使用してmodoを操作します。GUIがないためメモリが少なく済み、レンダリング中のプレビュー表示がないためレンダリング速度も少し早くなります。
ヘッドレスモードはGUIで使用できるほとんどのコマンドが使用できるので、特定のパラメータを変更してレンダリングすることができて便利です。

ヘッドレスモードのような仕組みはMaya、Max、AfterEffectsなど、アニメーションをレンダリングするソフトには大抵搭載されていて、ネットワークレンダリングなんかに使用されます。

 

バッチファイルとコマンドファイル

modoではヘッドレスモード用のmodoを起動するバッチファイルと、modoのコマンドを記述したテキストファイルを使用してバッチレンダリングをおこないます。

例えばCut_001.lxo、Cut_002.lxo、Cut_003.lxoのように複数のシーンファイルがあって、全てのシーンをOutputフォルダにレンダリングする場合について書いてみます。

 

バッチファイル

バッチファイルは拡張子を.batに変えたテキストファイルです。ヘッドレスモード用のmodo_cl.exeのパスと、コマンドファイルへのパスを記述します。今回は.batと同じディレクトリに.txtファイルがあるのでファイル名だけ書いてます。バッチファイルは行ごとにコマンドが実行されるので改行には注意してください。

“C:\Program Files\Foundry\Modo\12.2v1j\modo_cl.exe” < RenderSettingsFile.txt
cmd /k

 

コマンドファイル

コマンドファイルは拡張子通り普通のテキストファイルです。コマンドファイルにはmodoのコマンドを書いておくと1行ごとに実行されます。

log.toConsole true
log.toConsoleRolling true

scene.open {C:\BatchFolder\Cut_001.lxo}
render.animation {C:\BatchFolder\Output\Cut_001_} PNG16
scene.close

scene.open {C:\BatchFolder\Cut_002.lxo}
@ChangeRenderFrameRange.pl 1 3
render.animation {C:\BatchFolder\Output\Cut_002_} PNG16
scene.close

scene.open {C:\BatchFolder\Cut_003.lxo}
@ChangeRenderFrameRange.pl 1 4
render.res 0 1280
render.res 1 720
render.animation {C:\BatchFolder\Output\Cut_003_} PNG16
scene.close

app.quit

最初の2行はログ出力用のコマンドです。scene.openでファイルを開きrender.animationでレンダリングを実行してscene.closeでファイルを閉じています。render.animationコマンドは引数としてファイルの出力先のパスと出力ファイル名、出力フォーマットを指定しています。

@ChangeRenderFrameRange.pl はmodo標準のレンダリング範囲を変更するスクリプトを使用して、レンダリング範囲を変更する例です。render.resはレンダリング解像度の変更コマンドです。

 

レンダリングの実行

バッチファイルとコマンドファイルの準備ができたら.batファイルをダブルクリックします。modo_cl.exeとコマンドファイルのパスが正しく設定されていれば、コマンドプロンプトが開いてレンダリングの状況が表示されます。レンダリングが終了したらコマンドプロンプト閉じて終了です。

 

今回は単純にバッチレンダリングの例でしたが、ヘッドレスモードはほとんどのmodoコマンドが使用できます。例えばキャラと背景別々のシーンファイルを1つのシーンに読み込んでレンダリングしたり、複数のファイルのパラメータに同じ編集を加えてファイル保存したり、色々な使い方ができて便利だと思います。

 

参考

コマンドラインからModoのレンダリング
https://www.pixelfondue.com/blog/2016/11/3/modo-rendering-from-the-command-line

RenderMonkey

バッチレンダリング用のスクリプトも公開されています。元は有料のキットでしたが無料化されました。
https://github.com/9bstudios/mecco_renderMonkey

バッチレンダリングスクリプト

modoを通常通り起動してPythonスクリプトでバッチレンダリングするという物。レンダリングウィンドウで進捗を見たい場合にはいいかもしれません。https://community.foundry.com/discuss/post/747715

Modo Tips



 

記事のまとめページ

コメントを残す

*