RenderDispatcherで自動処理

RenderDispatcherを使用したネットワークレンダリングが行われている場合、その仕組みを利用してスクリプトの自動処理に転用することができます。
たとえばMayaでモーションベイクやデータチェック、AEでパスの差し替えなど手間のかかる作業をレンダーサーバで行うことが可能になります。
一般的なDispatcherにはスクリプトジョブ(pythonなど)が用意されていることが多いので各ソフトのコマンドラインモードで実行できる環境を作ればレンダリング同様のフローに乗せることができると思います。
下記画像はRolalrenderを例にしていますがどのDispatcherでも同様の事が可能です。

画像1

主な処理の流れは以下の通り。
・対象ファイルと処理コードの選択を行うGUI
・↑の情報を元にコマンドラインモード用の処理コードを用意
・用意したスクリプトをDispatcherに投げる

各ソフトのコマンドラインモード起動

○Maya

昔からあるMayaバッチモードもありますがこちらはMELでのアクセスなので取り回しがしにくいです。MayaPythonのMayapy.exeを使用してPythonで処理を回す方が最近の流れかも知れませんね。
以下、Mayapy.exeでスクリプトを回すbatのコード例です。

SET mayabatch_Path="C:/Program Files/Autodesk/Maya2016/
SET mayabatch_Path="C:/Program Files/Autodesk/Maya2016/bin/mayapy.exe"
SET py_Path="D:/Tools/Python/pathChecker.py"
SET MAYA_FILE="X:/test.mb"
%mayabatch_Path% %py_Path% %MAYA_FILE%
exit /B 0

バッチモードでPythonを使用する場合そのままではmaya.cmdsが使えません。以下のコードが必要になります。意外とここでつまずくことが多い。

#スクリプト冒頭に記述
import maya.standalone
maya.standalone.initialize()
#スクリプト最後に記述
maya.standalone.uninitialize()

○Aftereffects

AEにもAfterFX.exeにJSXファイルを投げて実行するコマンドラインモードがあります。
以下、pythonのコード例です。

import os
os.system('"C:\Program Files\AfterFX.exe" -noui -r //Tools/AddDire.jsx')




この記事が気に入ったらサポートをしてみませんか?