mental ray for Maya レンダリングの一般的な問題のトラブルシューティング
 
 
 

.mi 形式でエクスポートする場合、フレームごとにジオメオトリが振動する

mental ray standalone でのレンダリング用に .mi 形式でエクスポートされたファイルで、フレームごとにジオメトリが振動しているように見えることがあります。この場合は、次の 3 つの解決方法があります。

方法 1

.mi ファイルにエクスポートするときに、ASCII の代わりにバイナリ ファイル フォーマットを使用してエクスポートし、変換によるデータ損失を防ぎます。

方法 2

精度が下がるのは、mental ray for Maya が浮動小数点の精度 6 桁、倍精度浮動小数点の精度 15 桁でエクスポートしているためです。たとえば、浮動小数点の値 1000.2249 は、エクスポート時に 1000.22 に丸められます。

精度を上げるためには、Export Float Precision および Export Double Precision ユーザ定義アトリビュートを使用します。

ステータス ラインで次の値を入力して、これらのアトリビュートを作成します。

addAttr -type short -ln “exportFloatPrecision” mentalrayGlobals
addAttr -type short -ln “exportDoublePrecision” mentalrayGlobals

これらのアトリビュートを以下のように設定します。

setAttr mentalrayGlobals.exportFloatPrecision <value>
setAttr mentalrayGlobals.exportFloatPrecision <value>

ここで、<value> は、使用する精度の桁数です。

方法 3

大きいオブジェクト オフセットを非常に小さいシェイプのデフォメーションとともに使用することを避け、頂点位置が 1000.000001 のような結果にならないようにします。これは一般的に浮動小数点で表現できる精度を超えており、また .mi フォーマットには頂点位置の倍精度表現がありません。デフォルトの精度が .mi ファイルでシーンを表現するのに十分でない状況では、Maya モデルを確認して極端な値にならないようにする必要があります。

  • シーン エレメントのグローバルな配置では、インスタンス変換行列のみを使用します。
  • ローカルの機能とデフォメーションでは、そのシェイプの頂点 / ポイントのデータのみを使用します。

スキニングなど、Maya モデリング機能の一部は、最終的なシェイプ プロパティへのベイク処理グローバル変換で確認されるので、極端なケースでは記述の問題が起きる場合があります。

mental ray for Maya レンダリングのエラー

mental ray for Maya のレンダリング エラーが発生した場合は、Maya シーンを保存し、シーンを即座に再レンダーしないようにしてください。代わりに、Maya を終了して再起動します。

エラー メッセージ try -memory エラーが表示される

シーンをレンダーするためのメモリが不足している場合は、「MEM 0.3: TRY -MEMORY 314」のようなエラー メッセージが表示されることがあります。これを解決するには、レンダー > カレント フレームのレンダー(Render > Render Current Frame) を選択し、メモリ制限(Memory Limit)をエラー メッセージに表示されるメモリ量以上に増やします。ただし、一般的には、メモリ不足が発生する場合には、シーンの最適化を再検討することも必要です。

一部の古いMaya から派生(derive from Maya)設定が適用されない

(Maya 5.0 で)レンダー設定(Render Settings)に統合されたために(レンダー設定(Open the Render Settings)ウィンドウを開くを参照)、mental ray for Maya の Maya から派生(derive from Maya)設定の一部が削除されています。Maya から派生設定のある古いファイルは、必要に応じて mental ray for Maya のレンダー設定を設定して変更してください。

mental ray for Maya と Maya の既知の相違点については、mental ray for Maya のレンダー結果が Maya のレンダー結果と異なるを参照してください。

一次可視性をオフにしてもオブジェクトがレンダリングされる

オブジェクトがイメージ プレーンなどの透明なオブジェクトによって隠れている場合、オブジェクトの一次可視性(Primary Visibility)のフラグ(オブジェクトのアトリビュート エディタ(Attribute Editor)レンダリング詳細(Render Stats)セクション)がオフになっていても、オブジェクトはレンダリングされます。

代わりに、透明度の可視(Visible in Transparency)フラグ(オブジェクトのアトリビュート エディタmental ray セクション)をオフにします。

この動作は、mental ray for Maya でのみ発生します。これは mental ray for Maya が、Maya レンダラと異なり一次可視性(Primary Visibility)と透明度を区別するからです。一次可視性をオフにしても、mental ray は前面の透明なオブジェクトの後ろにあるジオメトリを認識し、レンダリングに含めます。このジオメトリを除外するには、透明度の可視(Visible in Transparency)を無効にしてください。

注:

この動作はまた、前面のオブジェクトが透明な場合にのみ発生します。前面のオブジェクトの一次可視性(Primary Visibility)をオフにしてシーンをセットアップすると、この動作は発生しません。

mental ray for Maya のレンダー結果が Maya のレンダー結果と異なる

以下のセクションで、Maya と mental ray for Maya 間の明らかな違いを説明し、その対処方法に関するヒントを提供します。

スキャンラインのみのレンダリング

スキャンラインのみのレンダリングは、Maya のデフォルトのレンダー モードです。スキャンラインのレンダリングにさまざまな制約があるため、モーション ブラー、ボリューム レンダリング、シャドウ トレーシングなどと一緒に使用すると、アーティファクトが生じる可能性があります。レンダーに問題が生じた場合には、レイ トレーシング(Raytracing)をオンにする必要があります。

ディスプレイスメント

mental ray は、ディスプレイスメント マップのディテールにうまく適合するように条件判断型テッセレーションを使用しています。一次テッセレーション(NURBS の場合: サーフェス計算後)は、ディスプレイスメントの概算の設定によって制御される、二次基準に合わせて更に分割されます。mental ray for Maya は、デフォルトで、曲率に応じて三角形に分割する適切な設定値を設定します。これは、フィーチャベースのディスプレイスメント マッピングの 1 つの方法です。近似エディタ(Approximation Editor)でカスタム ディスプレイス近似ノードを作成または選択してこれらの設定を変更することができます。近似ノードの詳細については、近似ノードを参照してください。

シャドウ マッピング

Maya ライトの mental ray シャドウ マップ アトリビュートが無効の場合、mental ray for Maya では、シャドウ マップのほとんどのパラメータが Maya のデプスマップ設定から導き出されますが、コントロールの値はほとんど該当しません。このため、特にフィルタの値を変更してソフト シャドウを生成したときに、異なる結果が生じます。シャープなシャドウの場合は、フィルタ サイズ(Filter Size)を 0 に設定する必要があります。中間距離の使用(Use Mid Dist)自動焦点の使用(Use Auto Focus)など、その他のコントロールは mental ray シャドウマップの値には適用されません。

mental ray for Maya のシャドウマッピングの処理方法については、Maya のシャドウ(『ライティング』マニュアル)を参照してください。

バンプ マッピング

mental ray シェーダにバンプ マッピングを導入する場合は、バンプ ノードのフィルタ(Filter)設定を Maya とは若干変更する必要があります。このフィルタでは、通常、ビューに依存したバンプ マッピングのディテールが生成されますが、これは、アニメーションには適さない場合があります。Maya と mental ray の両方で、フィルタの値を 0 にしてこのフィルタを無効にすると、フィルタのオフセット(Filter Offset)によってバンプ マップのルックアップが決まります。これによって、ビューに依存しない正しいバンプ マッピングのレンダー結果が得られます。

マットの不透明度(Matte Opacity)

透明なオブジェクトでは、Maya のマットの不透明度(Matte Opacity)の設定に従って、最終イメージに適切なアルファ チャンネルが生成されます。ただし、以下のような制約があります。

  • mental ray のカラー クリップ モードとプリマルチプライの設定がマット結果に影響します。デフォルトのカラー クリップ モード Raw では、Maya との完全な互換性が保証されています。特に、BlackHole 不透明度モードを使用したとき、または、OpacityGainSolidMatte モードでマットの不透明度(Matte Opacity)の値を 0 にしたときです。
  • Raw 以外の mental ray のカラー クリップ モードでは、より良いエフェクトを生成するために、フレームバッファに格納される前にカラー値またはアルファ値が変更されることがあります。
  • BlackHole 不透明度モードでは、mental ray でレンダーしたときにカラー チャンネルで異なる結果が生成されることがあります。つまり、反射が表示されたままになってしまいます。

透明度の詳細については、サーフェス テクスチャ(『シェーディング』マニュアル)を参照してください。

被写界深度(Depth of Field)

このエフェクトは、Maya での出力フィルタとは異なり、mental ray のレンズ シェーダでサポートされています。このため、mental ray ではグローバルなサンプリング設定の影響を受けます。サンプリング レベルの最小値または最大値を上げると画質が向上しますが、その分、レンダリング スピードが低下します。一方、出力フィルタでは正しいデプス オブ フィールド ブラーを生成できないような難しいシーンでも、この真の 3D エフェクトではアーティファクトが生じることはありません。

レンダー レイヤ(Render Layers)

グループをレンダー レイヤに割り当てると、mental ray for Maya では、そのグループのメンバもすべてそのレイヤに属し、そのアトリビュートを継承するものとみなされます。ただし、Maya では、グループのメンバをグループの親とは別のレイヤに割り当てることができます。

パーティクル システムのトランスレーションとレンダリング

ソフトウェア レンダリングのパーティクル タイプは、mental ray によるレンダリング用のすべてのプラットフォームでサポートされています。パーティクルをレンダーするには、新しい Maya ベースのシェーダ ライブラリが必要です。これも、すべてのプラットフォームで使用可能です。 パーティクル データは、.mi ファイルにエクスポートすることもできます。これらのファイルは、Maya を使用していたマシンとバイトの並び順(ビッグ エンディアン/リトル エンディアン)が異なるマシン上ではレンダーできません(たとえば、Linux と Windows の両方で使うことはできません)。パーティクルのトランスレーションとレンダリングには制限があり、大量のパーティクルは処理できない可能性があります。ライト リンクはパーティクルではサポートされていません。ただし、ソフトウェア パーティクルとパーティクルのインスタンス化はシームレスに連携するはずです。

mental ray for Maya のレンダー(Render)メニューをティアオフすると Maya がクラッシュする

Maya の レンダー(Render)メニューをティアオフしてから mental ray for Maya プラグインをロードし、mental ray for Maya のレンダー メニューをティアオフすると、Maya がクラッシュする場合があります。

解決方法

mental ray for Maya をロードする前に、メニューを閉じてください。

ファイアウォールが動作していると、Maya がクラッシュするかロードされない

ファイウォール ソフトウェアにより、コマンドのポートが遮断される場合があります。mental ray for Maya をロードする際に、ファイアウォールから「Maya アプリケーションにインターネット: IP アドレス 127.0.0.1 ポート 1333 へのアクセスを許可するか」という問い合わせがあります。ここで「いいえ」を選択すると、警告やエラーのメッセージは表示されず、Maya は即座に終了します。「はい」を選択すると、mental ray for Maya が通常どおりに起動します。

解決方法

ファイアウォール ソフトウェアを使用している場合は、Maya に対してポート 1333 での通信を許可しなければ、mental ray for Maya が正しく動作しません。

mental ray for Maya での 3D ペイントに関する問題

3D ペイントでテクスチャをペイントする際に、mental ray for Maya で新しいペイント ストロークが自動では検出されません。

解決方法

mental ray でレンダーする前に、ペイントしたテクスチャまたはシーン全体を保存しておき、すべてのストロークが正しくレンダーされるようにします。

mental ray images フォルダ

デフォルトでは、mental ray のバッチ レンダーされたイメージは、プロジェクトの images フォルダに保存されます。

マルチコアのマシンで複数レンダーを実行すると、レンダリングの処理速度が予想より遅くなります。

マルチコアのマシンで複数レンダーを実行すると、メモリの消費量が非常に多くなります。一方、マルチコアのマシンで単一のレンダーを実行すると、メモリが共有されるため、レンダリングの処理速度が改善します。