目次

  1. 概要
  2. 使い方
    1. バッチ処理UI
    2. コマンドラインから起動
  3. プリセットのカスタマイズ
    1. プリセットファイル

概要

Batch は、バッチ処理を行うためのベースになるツールです。スタンドアロンでもアプリケーション上でもどちらでも動きます。

スタンドアロンは JCGS Launcher の JCGS Tools から選ぶことができます。アプリケーションでは、 JCGS メニューの一番下に Batch メニューが追加されています。

スタンドアローン版立ち上げメニュー

Batch_Standalone.png

アプリケーション版立ち上げメニュー

Batch_Maya.png

使い方

バッチ処理UI

スタンドアロン版、アプリケーション版どちらも使い方は同じです。

Batchを起動すると、処理を選択するためのダイアログが表示されます

BatchDlg.png

ダイアログ上段左側がプリセットリスト、中央がプリセットを実行した際に行われる処理の一覧です。処理毎にパラメータが 設定できる場合は右側にパラメータが表示されます。

このプリセット情報は XML ファイルに記述します

バッチ処理の実行は、プリセットリストから一つプリセットを選んで Run ボタンを押すだけです。これで、中央に表示されている処理が一度に行われます。 正常に動作した場合は緑のチェックマークが、何かエラーが起きた場合は赤い×印が表示されます。

エラーの内容を詳しく知りたい場合は、該当する項目を選択するとダイアログ下部に詳細情報が表示されます。 詳細情報を選択すると、そのエラーが起きたシー中のオブジェクトが選択されるなど、原因究明に必要な情報を知ることができます。

コマンドラインから起動

UIだけではなく、コマンドラインからも起動可能なようになっています。

>python %JCGSTOOLDIR%\app\sceneChecker\main.py --conf presets.xml --preset processMaya --presetArgs "{\"path\":\"C:/temp/sample/CubicWave_####.tif\"'}" 

このようにすれば、任意の設定ファイルを読み込んだ上で、その中の指定したpresetを実行することができます。 --presetArgs はプリセットを実行する際に必要な引数で、JSON データとして渡します。

プリセットのカスタマイズ

使用するプリセットを切り替えることで処理内容を切り替えることができます。

Batch_sceneChecker.png

Check Scene と Cleanup Scene はメニュー作成用 XML ファイル内で以下のように設定しています

    <menuItem name="Check Scene" command="from sceneChecker import main;main.sceneChecker(settingFile='presetsMayaChecker.xml')" />
    <menuItem name="Cleanup Scene" command="from sceneChecker import main;main.sceneChecker(settingFile='presetsMayaCleaner.xml')" />

プリセットファイル

プリセット情報は XML ファイルに記述します。これを使用して、アプリケーション上では Check Scene と Cleanup Scene というように、複数のモードを用意しています。

<?xml version="1.0" encoding="UTF-8" ?>
<presets>
  <preset name="SetRenderInfo">
    <!-- module name="setRenderDestination" option="pathMapping:imageRoot"/ -->
    <module name="JCGS.batch.plugins.setRenderDestination" description="レンダリング先設定" />
    <module name="JCGS.batch.plugins.setRenderFrameRange" description="レンダリングするフレームレンジを設定" />
  </preset>
  <preset name="processMaya">
    <pipeline name="JCGS.batch.plugins.startMaya" description="Maya起動">
      <module name="JCGS.batch.plugins.setRenderDestination" description="レンダリング先設定" />
      <module name="JCGS.batch.plugins.setRenderFrameRange" description="レンダリングするフレームレンジを設定" />
      <module name="JCGS.batch.plugins.shutdownMaya" description="Maya終了" />
    </pipeline>
  </preset>
  <preset name="Playblast">
    <module name="JCGS.batch.plugins.playblast"  description="Playblast作成"/>
  </preset>
</presets>

preset ブロックが一つのプリセット定義になります。module が実行するプラグインです。今のところ引数などを与えることはできませんが、近いうちに 引数にも対応します。Batchダイアログに表示される内容は description で指定します。