Tips

Mayaのコマンド ライン レンダラを使用したバッチレンダリング

Maya のコマンド ライン レンダラ Render.exe (mayabatch.exe)を使用したバッチレンダリングの方法について書いてみます。複数のシーンファイルを連続してレンダリングしたい場合に便利です。

 

バッチファイル作成

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

テキストエディタを使用してRender.exeと.maファイルへのパスを記述し、拡張子を.batにして保存します。バッチファイルは行ごとにコマンドが実行されるので改行には注意してください。

"C:\Program Files\Autodesk\Maya2017\bin\Render.exe" -rd "C:\BatchFolder\Output" "C:\BatchFolder\Cut_001.ma"
"C:\Program Files\Autodesk\Maya2017\bin\Render.exe" -r sw -s 1 -e 5 -of tga -rd "C:\BatchFolder\Output" "C:\BatchFolder\Cut_002.ma"
"C:\Program Files\Autodesk\Maya2017\bin\Render.exe" -r sw -s 1 -e 12 -of png -im "Cut_003_" -fnc "name#.ext" -rd "C:\BatchFolder\Output" "C:\BatchFolder\Cut_003.ma"
cmd /k

コマンド ライン レンダラはフラグを設定して、シーンファイルの設定を変えてレンダリングすることができます。

1行目が最も単純な記述方法です。フラグ -rd はレンダリングした画像の出力先を指定するものです。

2行目 -r はレンダラの指定で sw はMayaソフトウェアです。mr はメンタルレイです。
-s 1 -e 5 はフレームレンジで、開始フレーム数と終了フレーム数です。
-of tgaはイメージフォーマット。
-rd "C:\BatchFolder\Output"はレンダリングした画像の出力先のディレクトリ指定です。

3行目 -im "Cut_003_" は出力ファイル名です。-im "<Camera>/<RenderLayer>/Cut_003_<Scene>_<RenderPass>" のように「ファイル名プリフィックス」を使用してフォルダを作成したりレンダーレイヤーの名前を使用することできます。
-fnc "name#.ext"は連番番号と拡張子のフォーマットの指定です。

基本的には「レンダー設定」のフラグを覚えると便利に使えます。

.batをダブルクリックするとコマンドプロンプトが起動してレンダリングが実行されます。レンダリングが終了したらコマンドプロンプトを閉じて完了です。

 

ファイルパスについて

上の例ではファイルパスがわかりやすいようにドライブ名を含めた「C:\BatchFolder\Cut_001.ma」のような絶対パスで記述してますが、バッチファイルからの相対パスで指定することもできます。

"C:\Program Files\Autodesk\Maya2017\bin\Render.exe" -rd "%~dp0\Output" "%~dp0\Cut_001.ma"

「%~dp0」はバッチファイルのあるカレントディレクトリを設定するコマンドです。

 

環境変数

Mayaはシステムの環境変数によってUIの言語やプラグインパスが定義されていますが、バッチファイルを使用すると環境変数を指定してMayaを起動することができます。

例えばMayaを英語で起動したい場合は、以下のようなバッチファイルを作成します。

SET MAYA_UI_LANGUAGE=en_EN
"C:\Program Files\Autodesk\Maya2017\bin\maya.exe"

バッチレンダリングでも同様のことができます。例えば以下のようにプラグイン(モジュール)のバージョンを指定してレンダリングすることができます。

SET MAYA_MODULE_PATH=C:\Modules\PluginVersion_100\
"C:\Program Files\Autodesk\Maya2017\bin\Render.exe" -r sw -s 1 -e 5 -of png -im "AAA_" -rd "C:\BatchFolder\Output" "C:\BatchFolder\Cut_001.ma"
SET MAYA_MODULE_PATH=C:\Modules\PluginVersion_130\
"C:\Program Files\Autodesk\Maya2017\bin\Render.exe" -r sw -s 1 -e 5 -of png -im "BBB_" -rd "C:\BatchFolder\Output" "C:\BatchFolder\Cut_001.ma"
SET MAYA_MODULE_PATH=C:\Modules\PluginVersion_151\
"C:\Program Files\Autodesk\Maya2017\bin\Render.exe" -r sw -s 1 -e 5 -of png -im "CCC_" -rd "C:\BatchFolder\Output" "C:\BatchFolder\Cut_001.ma"
cmd /k

Mayaはマイナーバージョンでも細かくバグが増えて動作がおかしくなることが多いので、Mayaに問題があるのかプラグインが問題かテストするときに、複数のプラグインバージョンでレンダリングをテストするときに便利です。

バッチレンダリングを少し便利にする方法も書いてみたので合わせて読んでみて下さい。

 

参考

コマンド ライン レンダラの共通フラグ

https://knowledge.autodesk.com/ja/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2016/JPN/Maya/files/GUID-0280AB86-8ABE-4F75-B1B9-D5B7DBB7E25A-htm.html

環境変数

http://help.autodesk.com/view/MAYAUL/2016/JPN/?guid=GUID-925EB3B5-1839-45ED-AA2E-3184E3A45AC7

コメントを残す