mental ray を使用してコマンド ラインからレンダーする

 
 
 

コマンド ラインからレンダーするには

  1. 次のいずれかを実行します。

    コマンド プロンプト、シェルまたはターミナル ウィンドウから、次のように入力します:

    Render -r <renderer name> <options> <filename>
    

    <renderer name> にはレンダラの名前が入ります:

    • mr = NVIDIA.mi®mental ray®
    • mi = コマンド ラインを使用した .mi ファイルの書き出し
    • sw = ソフトウェア レンダラ
    • hw = ハードウェア レンダラ
    • vr = ベクター レンダラ
    • hw2 = ハードウェア 2.0 レンダラ
    • file = Maya ファイルに格納されたレンダラを使用

    <filename> は、通常は Maya ASCII ファイルまたは Maya Binary ファイルを指定します。<options>には、1 つまたは複数のオプションかフラグを指定します。

    これはコマンド ラインで指定したレンダラを使って、イメージまたはアニメーションをレンダーします。

    注:

    レンダラを明示的に指定しない場合、シーン ファイルで指定したレンダラが使用されます。この動作は Maya 2010 から変わりました。

  2. コマンド プロンプトで以下を入力します:
    Render <options> <filename>
    

    <filename> は、通常は Maya ASCII ファイルまたは Maya Binary ファイルを指定します。<options> には、1 つまたは複数のオプションかフラグを指定します。

    これは、ファイル内で定義されたレンダラを使って、イメージまたはアニメーションをレンダーします。

mental ray for Maya レンダラ コマンド ライン レンダラ フラグ

以下は、mental ray for Maya レンダラを使用したコマンド ライン レンダリングに固有なすべてのフラグとその説明です。このリストは、シェルまたはターミナル(Mac OS X)ウィンドウで Render -r mr -help と入力して表示することもできます。

コマンド ライン レンダラの共通フラグも参照してください。

フラグ 修正される問題
-v <int>

詳細説明のレベルを設定。

  • 0: メッセージをオフにする
  • 1: 重大なエラーのみ
  • 2: すべてのエラー
  • 3: 警告
  • 4: 情報メッセージ
  • 5: 進捗メッセージ
  • 6: 詳細デバッグ メッセージ
-rt <int>

レンダリング スレッド数を指定。

-art

このオプションを有効にすると、ワークステーションの CPU (コア)を最大限に活用するためのスレッド数が Maya で自動的に計算されます。

-mem <int>

mental ray が使用するメモリのソフト制限(MB)。ソフト制限は、実際には mental ray が表示を上回るメモリを使用する場合があるということを示唆します。

-aml

このオプションを有効にすると、レンダリング開始前に Maya でメモリ制限が動的に計算されます。この機能は任意の時点で有効化し、より高いパフォーマンスを得ることができます。

-ts <int>

レンダー タイルの幅と高さをピクセルで設定します。

-at

このオプションを有効にすると、レンダー時間に対する最適なタイル サイズが自動的に計算されます。

-rnm <boolean>

ネットワーク レンダリング オプション。true であれば、mental ray はほとんどすべてをスレーブ マシンでレンダーし、マスタ マシン上の作業負荷を減らします。

-lic

廃止されたフラグ。

-reg <int int int int>

最終イメージのサブ領域のピクセル境界を設定(左、右、下、上)。

-bakeSetDefault

シーン内の他のベイク セットに割り当てられていないすべてのオブジェクトを含めるベイク セットを指定。

-rto

ターゲットのみをレンダーします。このオプションを選択すると、2D レンダーが実行され、シーン内のターゲットのみがレンダーされます。

-ort

レンダー ターゲットを除外します。このオプションを選択すると、3D レンダーが実行され、シーン内の依存関係のみがレンダーされます。

-rat

すべてのターゲットをレンダーします。このオプションを選択すると、すべてのレンダリング可能な依存関係とレンダー ターゲットがバッチ レンダーに含められます。

-perframe

mental ray でアニメーションが適切にレンダーされない場合は、このフラグを使用して最初からフレームを移動します。この機能は、バッチ レンダリングにのみ使用できます。

-sampling (-sa)

mental ray for Maya レンダラを使用して、Maya 2014 より前のバージョンのシーンを開くと、サンプリングの設定が、統一サンプリング(Unified Sampling)を使用するように変更されます。一部の機能(輪郭レンダリングなど)では、統一サンプリング(Unified Sampling)がサポートされていません。

以前に保存した旧バーションのサンプリング設定で旧バージョンのシーンをレンダーするには、次の引数を指定したこのフラグを使用します。

0: 統一サンプリング

1: 旧式ラスタライザ

2: 旧式サンプリング

たとえば次のようになります。

/path/to/Maya/bin/Render -r mr -v 5 -proj /path/to/proj -sampling 2 sceneName.ma

-unifiedQuality (-uq)

-sampling 0 (統一サンプリング)を設定した場合、または Maya 2014 より前のバージョンのシーンに -sampling フラグを設定しない場合(その場合は統一サンプリング(Unified Sampling)が使用される)は、このフラグを使用して、統一サンプリング(Unified Sampling) の精度(Quality)を設定することもできます。

たとえば次のようになります。

/path/to/Maya/bin/Render -r mr -v 5 -x 1 -uq 1.25 old_2012_sceneFile.ma

コマンド ラインを使用した MI ファイルの書き出し

mental ray スタンドアローン レンダラでレンダーするために、コマンド ラインを使用して .mi ファイルを書き出せます。次の目的で使用します。

次に、コマンド ラインを使用して .mi ファイルを書き出す例を 2 つ紹介します。次の例で選択される書き出しオプションの詳細については、コマンド ライン フラグを参照してください。

例 1:

Render -r mi -im "cmdrenderTest" -of "gif" -binary 0 -file "C:/temp/test.mi" mayascene.ma

このコマンドにより、mi ファイル C:/temp/test.mi (-file フラグで設定)が ASCII フォーマット(-binary フラグ)で作成され、書き出しされます。test.mi ファイルをスタンドアローン レンダラでレンダーすると、出力イメージは gif フォーマット(-of フラグ)になり、ファイル名は cmdrenderTest (-im フラグ)となって現在のディレクトリに格納されます。

例 2:

Render -r mi -rd "C:/images" -im "cmdTest" -of "tif" -s 10 -e 15 -b 1 -binary 0 -perframe 0 -exportPathNames "1111111111" -file "C:/temp/test.mi" mayascene.ma

上記のコマンドでフレーム 10 から 15 (-s、-e、および -b フラグ)を書き出し、アニメーション全体用に .mi ファイルを 1 つ書き出します(-perframe フラグ)。 書き出した .mi ファイルは ASCII フォーマット(-binary フラグ)になっており、パスとファイル名は C:/temp/test.mi. です。.mi ファイルではフル ネームに絶対パスを使用します(-exportPathNames フラグ)。

test.mi ファイルがスタンドアローン型レンダラを使用してレンダーされるとき、出力イメージ ファイルは tif フォーマット(-of フラグ)になっており、ファイル名 cmdTest (-im フラグ)で c:/images directory (-rd フラグ)に格納されます。

コマンド ライン フラグ

以下は、コマンド ラインを使用した .mi ファイルの書き出しに固有の、すべてのフラグとその説明です。このリストは、コマンド プロンプト(Windows)またはターミナル ウィンドウ(Linux、Mac OS X)で Render -r mi -help と入力して表示することもできます (スタンドアローン レンダラでレンダリングするためにファイルを書き出す場合でも、使用するのは Render コマンドです)。

コマンド ライン レンダラの共通フラグも参照してください。

書き出しフラグ

フラグ 定義
-file <string>

書き出す .mi ファイル名。指定しない場合は、シーン名が使用されます。

-binary <boolean>

.mi ファイルをバイナリまたは ASCII フォーマットで書き出します。

0 = ASCII

1 = バイナリ

-tabstop <int>

.mi ファイルで使用されるタブのサイズ。このオプションを使用して、.mi ファイルの行の字下げに使用する空白文字数を設定します。この機能を使用すると、ファイルが読みやすくなります。これは、ASCII フォーマットの .mi ファイルでのみ使用できます。

-perframe <int>

アニメーションのフレームごとの .mi ファイルの書き出しを制御します。

  • 0: アニメーション全体を含む単一の .mi ファイルを書き出します。これは漸進的変化を使用します。
  • 1 または 2 または 3: 1 フレームごとに 1 つの .mi ファイルを書き出します。これは漸進的変化を使用しません。.mi ファイル名は、使用するオプションにより、次のように異なります。
    • 1: それぞれの .mi ファイルの名前は名前.mi.# (name.mi.#)となります。
    • 2: それぞれの .mi ファイル名は名前.# (name.#)となります。
    • 3: それぞれの .mi ファイルの名前は名前.# (name.#)となります。

漸進的変化とは、アニメーションの最初のフレームと後続の各フレームとの間に起こるシーン修正です。mental ray により最初のフレームをレンダーし、このフレームを保持して、次の後続フレームに適切なシーン修正を加えて編集します。これらのシーン修正が漸進的変化になります。

-padframe <int>

フレームごとの書き出し時のファイル名拡張子の生成に使用するフレームのパッド番号(フィールド幅固定)を設定します。パッド番号は指定された桁数のフレーム番号です。未使用の桁を埋めるのには 0 が使用されます。

-perlayer <bool>

オンの場合、各レンダー レイヤに .mi ファイルを書き出します。既定値は 1 です。

-exportPathNames <string>

ファイル パス オプションを指定します。文字列の各文字は、異なるファイル タイプのファイル パス オプションを指定します。この順序は次のとおりです: リンク ライブラリ、.mi ファイルをインクルードする、テクスチャ ファイル、ライト マップ、ライト プロファイル、出力イメージ、シャドウ マップ、ファイナル ギャザー マップ、フォトン マップ、オブジェクト .mi ファイルのロード要求。

使用可能なファイル パス オプションは次のとおりです。

  • 0 - 変更なし; 1 - 絶対; 2 - 相対; 3 - パスなし、または
  • 0 - 変更なし; a - 絶対; r - 相対; n - パスなし

例: -xp aarrararra は、リンク ライブラリ、インクルード ファイル、ライト プロファイル、シャドウ マップ、およびオブジェクトの .mi ファイルのロード要求には絶対パスを使用し、テクスチャ ファイル、ライトマップ、出力イメージ、ファイナル ギャザー マップ、およびフォトン マップには相対パスを使用します。

既定値: 変更なし。

詳細については、Mayatomr を参照してください。

-fragmentExport

フラグメントの書き出しを有効にします。このオプションにより、選択したノードを書き出します。関連ノードや接続されたノードを書き出す追加オプションもあります。このオプションを使用して、選択したオブジェクトまたはノードのみを含む .mi ファイルを作成します。

既定値: シーン全体を書き出します。

このフラグは、Maya インタフェースの選択項目の書き出し(Export Selection)オプションと同じです。

フラグ -fragmentMaterials、 -fragmentIncomingShdrs、 -fragmentChildDag と一緒に使用する必要があります。

例:

mayatomr -mi -active -fragmentExport -fragmentChildDag -file “text.mi”

-fragmentMaterials、-fragmentIncomingShdrs、-fragmentChildDag のフラグは、-fragmentExport と一緒に使用する必要があることに注意してください。また、このフラグは -active を使用してアクティブにする必要があります。

詳細については、Mayatomr を参照してください。

-fragmentMaterials

フラグメントの書き出しと組み合わせて使用し、現在の選択項目の中にあるシェイプ/トランスフォーム ノードのマテリアルも書き出します。-fragmentExport と一緒に使用する必要があります。

既定値: アタッチされたマテリアルを無視します。

詳細については、Mayatomr を参照してください。

-fragmentIncomingShdrs

フラグメントの書き出しと組み合わせて使用し、現在の選択範囲の中にあるノードに接続されているシェーディング ノードも書き出します(例: ドライビング ノード)。-fragmentExport と一緒に使用する必要があります。

既定値: 接続を無視します。

詳細については、Mayatomr を参照してください。

-fragmentChildDag

フラグメントの書き出しと組み合わせて使用し、現在の選択項目にあるトランスフォーム ノードの任意の子 DAG も書き出します。-fragmentExport と一緒に使用する必要があります。

既定値: 選択されたオブジェクト/インスタンスのみ書き出します。

詳細については、Mayatomr を参照してください。

-exportFilter <int>

整数の引数を使用して .mi ファイルから特定のタイプの mental ray エンティティをフィルタします。整数の引数はビットマップで、各ビットは 1 つのフィルタ エントリを表します。フィルタ可能なエンティティとそれに対応するビット値の一覧については、「Mayatomr」を参照してください。

既定値: フィルタなし。

-exportFilterString <string>

文字列の引数を使用して .mi ファイルから特定のタイプの mental ray エンティティをフィルタします。文字列の各文字は、対応するフィルタ エントリを表します。フィルタ可能なエンティティとそれに対応するビット値の一覧については、「Mayatomr」を参照してください。

既定値: フィルタなし。

-reg <int int int int>

最終イメージのサブ領域のピクセル境界を設定(左、右、下、上)。

コマンド ラインを使用したライト マップの生成

ライト マップ コマンドは、mental ray ライト マップ レンダリングを使用してライティングをテクスチャにベイク処理することで、レンダリングの効率を向上させ、作業時間を削減できます。イルミネーションの計算は、コストも時間もかかります。そのため、シーンのライティング条件に変更がない場合、または特に複雑なシェーディング ネットワークがある場合は、ライト マップをあらかじめ計算して格納し、レンダリング時にライティング計算が実行されないようにします。

ライト マップ コマンドを使用して、出力ディレクトリ、カメラ名、シャドウ、オブジェクトなどのグローバル設定を指定できます。オーバーライドされないかぎり、各オブジェクトに割り当てられたテクスチャ ベイク セットは、既定でカラー モード、イメージ フォーマットなどの制御に使用されます。

次に、コマンド ラインを使用して ライト マップをレンダーする方法を紹介します。次の例で選択される書き出しオプションの詳細については、コマンド ライン フラグを参照してください。

Render -r lightmap -rd "C:/output" -sel pSphere1 -sel pSphere2 -override 1 -colorMode 3 -occlusionRays 16 

このコマンドにより、pSphere1 と pSphere2 がベイク処理され、ライト マップが C:/output に保存されます。

コマンド ライン フラグ

以下は、ライト マップ レンダラを使用したコマンド ライン レンダリングに固有なすべてのフラグとその説明です。このリストは、コマンド プロンプト(Windows)またはターミナル ウィンドウ(Linux、Mac OS X)で Render -r lightmap -help と入力して表示することもできます。

コマンド ライン レンダラの共通フラグも参照してください。

一般的なフラグ

フラグ 定義
-rd <string>

ライト マップ ディレクトリへの絶対パス。指定しない場合は、mental ray ディレクトリが使用されます。

-camera <string>

対応するカメラ名を指定して、目的のビューを選択します。反射やスぺキュラ ハイライトなどの機能はビューに依存するので、このオプションを選択してビューを変更することができます。

-shadow <boolean>

シャドウをベイク処理するかどうかを指定します(シャドウをベイク処理する場合は、シーンでシャドウを有効にする必要があります)。1 の場合、シャドウはベイク処理されます。

既定値: 0。シャドウはベイク処理されません。

-all <boolean>

シーンのすべてのオブジェクトがベイク処理されます。0 の場合、選択したオブジェクトがベイク処理されます。

-sel <name>

ベイク処理するオブジェクト、グループ、および/またはセットを選択します。

テクスチャ ベイク セット設定フラグ

フラグ 定義
-override <boolean>

次の設定を使用すると、シーンに保存されているテクスチャの Bakeset アトリビュートをオーバーライドします。

-colorMode <int>

カラー モード(Color Mode)オプション。計算するライティング情報を指定します。

  • 0 :ライトとカラー(Light and Color)。入射光とサーフェス カラーを計算して、最終的なカラーを算出します。
  • 1 :ライトのみ(Only Light)。直接および間接入射光が計算されます。
  • 2 :グローバル イルミネーションのみ(Global Illumination only)。グローバル イルミネーション(間接光)のみが計算されます。
  • 3 :オクルージョン(Occlusion)。あるポイントに到達するライト量のグレー スケール値が計算されます。
  • 4 :カスタム シェーダ(Custom Shader)。指定したカスタム シェーディング ネットワークがベイク セットにベイク処理されます。

既定値: 0。

詳細については、テクスチャ ベイク セット アトリビュート(Texture Bake Set Attributes)を参照してください。

-occlusionRays <int>

オクルージョン レイの数。オクルージョン レイの数を増やすと質は上がりますが、パフォーマンス スピードは低くなります。カラー モードがオクルージョンに設定されている場合に使用できます。

既定値: 64。

詳細については、テクスチャ ベイク セット アトリビュート(Texture Bake Set Attributes)を参照してください。

-occlusionFalloff <float>

オクルージョン減衰。オクルージョン レイの最大長さを設定します。この値より長いレイはオクルージョンの際に考慮されません。カラー モードがオクルージョンに設定されている場合に使用できます。

既定値: 0。

詳細については、テクスチャ ベイク セット アトリビュート(Texture Bake Set Attributes)を参照してください。

-normalDirection <int>

法線方向(Normal Direction)

ベイク処理を部屋の外側から行うか内側から行うかによって、法線の方向を調整できます。たとえば、部屋の外からベイク処理する際、シーンのライティングが室内のライティングに影響されないように設定したい場合、法線方向をサーフェスの後側(Surface Back)に設定します(法線が現在部屋の内側を指している場合)。

  • 0 :カメラに向く(Face Camera):(カメラの方向)
  • 1 :サーフェスの前側(Surface Front):(オブジェクトのサーフェスから外側へ)
  • 2 :サーフェスの後側(Surface Back):(オブジェクトのサーフェスから内側へ)

既定値: 1。

詳細については、テクスチャ ベイク セット アトリビュート(Texture Bake Set Attributes)を参照してください。

-orthogonalReflection <boolean>

サーフェス法線を反射方向に使用します。反射はビューに依存します。これは反射が表示角度により変化するためです。そのため、カメラが移動する環境でライト マップ情報を使用する場合などは特に、特定の表示角度から反射をベイク処理することは好ましくありません。このオプションを使用すると、アイ レイではなくサーフェス法線を使用して反射が計算されます。計算結果は、環境マップのような反射になります。1 に設定すると、このオプションが選択されます。

既定値: 0。

詳細については、テクスチャ ベイク セット アトリビュート(Texture Bake Set Attributes)を参照してください。

-customShader <string>

ライティングを計算するカスタム シェーダ(Custom Shader)の名前。カラー モード(Color Mode)カスタム シェーダ(Custom Shader)に設定されている場合に使用できます。

詳細については、テクスチャ ベイク セット アトリビュート(Texture Bake Set Attributes)を参照してください。

-prefix <string>

このベイク処理で生成される ライト マップは、このプリフィックスから始まる名前になります。

-xResolution <int>

ライト マップの X 解像度。

-yResolution <int>

ライト マップの Y 解像度。

-fileFormat <int>

ファイル フォーマット:

  • 1 : tiff
  • 2 : iff
  • 3 : jpg
  • 4 : rgb
  • 5 : rla
  • 6 : tga
  • 7 : bmp
-bitsPerChannel <int>

チャネルごとのバイト数: 1、2、または 4。

-samples <int>

ピクセルごとのサンプル数。サンプル数を増加すると、レンダー結果の精度が向上します。ただし、計算コストも増加します。

-bakeToOneMap <boolean>

すべてのオブジェクトに対し 1 つの ライト マップが生成されます。オブジェクトの UV がオーバーラップされていないことを確認してください。1 に設定すると、このオプションが選択されます。

既定値: 0。

-bakeAlpha <boolean>

テクスチャ ベイク処理の結果にアルファを含めます。1 に設定すると、このオプションが選択されます。

既定値: 0。

詳細については、テクスチャ ベイク セット アトリビュート(Texture Bake Set Attributes)を参照してください。

-alphaMode <int>

アルファ チャネル(alpha channel)の計算方法。

  • 0 :通過(Pass Through)アルファ チャネル(alpha channel)は影響されないままになり、シェーディング ネットワークからの出力が含まれます。カスタム シェーダのみに使用します。
  • 1 :サーフェス透明度(Surface Transparency)アルファ チャネル(Alpha channel)に、サーフェス透明度の値を含めます。
  • 2 :サーフェス カラーの輝度(Luminance of Surface Color)アルファ チャネル(Alpha channel)に、サーフェス カラーの輝度を含めます。
  • 3 :有効範囲(Coverage)。サンプリングするポイントの有効範囲をアルファ チャネル(alpha channel)に格納します。

既定値: 1。

詳細については、テクスチャ ベイク セット アトリビュート(Texture Bake Set Attributes)を参照してください。

-finalGatherQuality <float>

ファイナル ギャザー事前計算精度。

mental ray では、カメラからレンダーする場合、実際にシーンをレンダーする前にファイナル ギャザー パスを事前計算します。この事前計算パスは、ベイク処理に対して既定で無効になっています。コマンド ラインからベイク処理する場合、このオプションを使用して同じ事前計算パスを実行できます。

既定値: 1。

float の引数を設定して目的のファイナル ギャザー精度を得る方法の詳細については、Mayatomr を参照してください。

-finalGatherReflect <float>

反射のファイナル ギャザー事前計算精度。

このオプションを使用して、 ライト マップのファイナル ギャザー パスを事前計算するときのオブジェクトの反射率を計算します。float の引数を使用して事前計算するファイナル ギャザー ポイントの少数を設定します。これはベイク処理するオブジェクト上でなく、ベイク処理するオブジェクトからの反射光線を受けるオブジェクト上のファイナル ギャザー ポイントです。

既定値: 0。

詳細については、Mayatomr を参照してください。

-uvRange <int>

指定した UV 範囲のみが ライト マップにベイク処理されます。

  • 0 : 0~1
  • 1 : UV 空間全体
  • 2 : ユーザが指定した空間の範囲。(uMin uMax vMin vMax)。

既定値: 0。

-uMin <float>

ライト マップの最小 U 値。UV 範囲(UvRange)ユーザ指定(User Specified)に設定されている場合に使用できます。指定した UV 範囲のみが ライト マップにベイク処理されます。

既定値: 1。

-uMax <float>

ライト マップの最大 U 値。UV 範囲(UvRange)ユーザ指定(User Specified)に設定されている場合に使用できます。指定した UV 範囲のみが ライト マップにベイク処理されます。

既定値: 1。

-vMin <float>

ライト マップの最小 V 値。UV 範囲(UvRange)ユーザ指定(User Specified)に設定されている場合に使用できます。指定した UV 範囲のみが ライト マップにベイク処理されます。

既定値: 1。

-vMax <float>

ライト マップの最大 V 値。UV 範囲(UvRange)ユーザ指定(User Specified)に設定されている場合に使用できます。指定した UV 範囲のみが ライト マップにベイク処理されます。

既定値: 1。

-overrideUvSet <boolean> -uvSetName フラグと一緒に使用して現在割り当てられている UV セットをオーバーライドし、代わりに指定した UV セットを使用します。

1 に設定して有効にし、-uvSetName フラグを使用して UV セットの名前を指定します。

既定値: 0。

-uvSetName <string>

使用する UV セットの名前。