コマンドライン オプションを使用して、Softimage 画面を開かずに、シーンをレンダリングすることができます。この機能は、バッチ レンダリングまたはコマンドライン レンダリングと呼ばれます。 さらに、レンダ アーカイブを書き出すことができるだけでなく、コマンド ラインからバッチまたはスクリプト ファイルを作成して実行することもできます。
バッチモードでレンダリングするには、xsiコマンドまたはxsibatchコマンドを使用します。このとき、-renderスイッチまたは-exportスイッチを指定し、続けて適切なバッチレンダリングオプションを指定します。たとえば、以下のように実行できます。
xsi -render bob.scn -pass specular -frames 1,3,60 xsi -export bob.scn xsi -script foo.vbs xsi -render bob.scn -script foo.vbs
xsi および xsibatch は、同じオプションをサポートしています。異なる点は、xsibatch が xsi コマンドのリモート対応バージョンであり、Windows 専用であることです。これによって、たとえば Telnet などを使用してバッチ モードでリモートからレンダリングを行ったり、単一のバッチ ファイルから複数のスクリプトを次々と実行する場合に自動的にコマンド ウィンドウを閉じるなど、他のタスクを実行することができます。バッチ スクリプトの詳細については、「バッチスクリプトの実行」『SDK ガイド』を参照してください。
ここでは、コマンド ラインで -render または -export スイッチと一緒に使用できるバッチ レンダリング オプションについて説明します。これらのバッチ レンダリング オプションは、Softimage が制御する一般的なシーンおよびパスレベルのレンダリング オプションです。レンダラに固有のオプションを変更する場合は、-script オプションを使用してスクリプトを指定します(「スクリプトを使用してレンダラ固有のオプションを設定する」を参照)。
xsi|xsibatch <-render|-export> <path to scene> [-pass <pass1,pass2,...,passN>] [-frames <start,end[,step]>|<frame set>] [-output_dir <dir>] [-mb <on|off>] [-skip <on|off>]
-render および -export スイッチに含まれているオプション以外のオプションを変更する場合は、-script オプションを使用してスクリプトを指定します。スクリプトは、シーンが読み込まれ、パスとシーン レンダ オプションが変更された後に、指定されたコマンド ライン オプションによって実行されます。レンダリングまたは書き出しは、スクリプトが終了してから開始されます。
スクリプトを使用したバッチ レンダリングには、2 つの方法があります。
xsi -render bob.scn -script foo.vbs
-script と -render を一緒に使用する場合、スクリプト自体にレンダ コマンドを含める必要はありません。スクリプトが終了した後、-render オプションがシーン ファイルのレンダリングを担当します。
xsi -script foo.vbs
-script に -render を指定しない場合、[RenderPass]コマンドを使用して、指定されたパス(指定されていない場合は現在のパス)を現在のレンダリング オプションでレンダリングできます。また、[RenderAllPasses]コマンドと [RenderPassesFrameSet]コマンドを使用することもできます。レンダラ オプションを指定する場合は、[GetValue]および[SetValue]を使用します。
レンダリング コマンドを含むスクリプトの良い例として、[DSScripts]サブディレクトリの [Rendering.vbs]があります。このファイルを Script Editor で開くと、その機能がわかります。
レンダリングするシーン ファイルを指定する引数が必要であることに注意してください。これは、コマンド ラインから実行したスクリプトでは、シーンの選択のようなインタラクションを要求できないためです。スクリプトをバッチ モードで実行するには、あらかじめスクリプトを用意しておく必要があります。
スクリプト、バッチスクリプト、および Script Editor の一般的な情報については、「バッチスクリプトの実行」『SDK ガイド』を参照してください。