2014年2月11日火曜日

Blenderでバッチにてレンダリング(Windows)

Blenderでバッチ処理にてレンダリングするスクリプトを作ってみたのでメモ。

バッチファイル実行前に、コントロールパネル>システムのプロパティの詳細設定タブ>
環境変数で、blender.exeがあるフォルダ(C:\Program Files\Blender Foundation\Blender)にパスを追加してます。




こんな感じで変数値に『;C:\Program Files\Blender Foundation\Blender』を追加しました。

次に、レンダリング用のバッチファイルです。

※使用は個人の責任でお願いします。レンダリング後の
ファイルはrenderedフォルダに移動していますので、
同名のファイルは上書きされます!

---------------
render.bat
---------------
@echo off
set RENDERED_PATH=../rendered

echo "<<<<JPEG Rendering Start>>>>-------------------"
for %%A in (*.blend) do (
echo %%~fA
echo %%~nA_####.jpg
set FILE_NAME = %%~nA_####.jpg
blender -b %%~fA -o %RENDERED_PATH%/%%~nA_####.jpg -F JPEG -f 1
move %%~fA ../rendered/%%~nA.blend
)
echo "<<<<JPEG Rendering End>>>>-------------------"
---------------

フォルダ構成はこんな感じ。
レンダリング対象のブレンダーのファイルを配置しておく、renderフォルダと
レンダリング済みのファイルが配置されるrenderedがあります。


renderフォルダに、レンダリング対象のファイルを複数配置し、
render.batを実行します。
ブレンダーファイルは、レンダリングするだけの状態で、出力時の
解像度とかカメラ位置とかを決めて保存しておいてください。

render.batを実行するとこんな感じでBlenderがバックグラウンドで実行されます。
render.batは同一フォルダにあるブレンダーファイルをすべて
レンダリングしrenderedにjpgを出力し、処理済のブレンダーファイルを
renderedフォルダに移動します。



実行後にレンダリング結果のjpgとレンダリング済みのブレンダーファイルが
renderedフォルダに配置されます。

※renderedフォルダに同一ファイルが存在する場合は上書きされるので
注意してください。



こんな感じになります。


アニメーションのレンダリングとかはオプションが違ってくるので、
別のバッチファイルを用意しておけばよいかな。

0 件のコメント:

コメントを投稿