mtlsh_shader
 
 
 

| Render Tree の使い方

シェーダ ファミリ: サーフェイス マテリアル

[複数出力](Multiple Outputs): カラー

関連 mental ray シェーダ](Related mental ray shader): misss_fast_shader_x

これは、SSS シェーダ コンパウンドで使用される mental ray コンポーネント シェーダの Softimage spdl ベース版です。

[mtlsh_shader]は、実際のスキャッタリングを行う役目を担うシェーダです。これは非常にモジュール性が高く、[bump]、[diffuse_illum]、および[specular_illum]入力ポートを通して各種のレイヤに実際の効果を提供するいくつかの入力シェーダとともに動作します。このシェーダは、複数レイヤ スキャッタリングでそれ自体にカスケード構造を持たせる([diffuse_illum]ポートを使用)ことができます(これがまさにFast Simple(misss)(高速シンプル(misss))の動作です)。[mtlsh_shader]のレイヤは、ライトマップから拡散されるライトを使用して入力シェーダからの結果を重ね、最終的なシェーディングされた結果を示します。

注:高速サブサーフェイス スキャッタリング エフェクトは、[RenderMap]ツールによって生成されるマップに含まれないことに注意してください。

ディフューズ

カラー(Color)

ディフューズ イルミネーションのカラーを定義します。通常はオブジェクトのメイン サーフェイス テクスチャを使用します。

ウェイト(Weight)

他のコンポーネント(アンビエント、スキャッタリングなど)とブレンドする場合のディフューズ イルミネーションのウェイトをコントロールします。

散乱

フロント

カラー(Color)

フロント サーフェイス スキャッタリングのカラーをコントロールします。フロント サーフェイスは、カメラ側のオブジェクトの面であるため、フロント サーフェイスに当てる光量を多くするとそのほとんどが表示されます。

ウェイト(Weight)

他のライト コンポーネント(バック スキャッタリング、ディフューズなど)とブレンドする場合のフロント スキャッタリングのウェイトをコントロールします。

半径(Radius)

ライトがフロント サーフェイス方向に拡散する距離をコントロールします。この値はシーン単位で指定しますが、[アドバンス設定]タブの[スケール](Scale)値によって単位を分割できます。

バック

カラー(Color)

バック サーフェイス スキャッタリング(オブジェクトを通る抜けるライト)のカラーをコントロールします。バック サーフェイスはカメラ側とは反対の面です。背後から光を当てる場合、またはライトがオブジェクトを直接通り抜ける場合は、バック スキャッタリングがほとんど表示されます。

ウェイト(Weight)

他のライト コンポーネント(バック スキャッタリング、ディフューズなど)とブレンドする場合のバック スキャッタリングのウェイトをコントロールします。

半径(Radius)

ライトがバック サーフェイス方向に拡散する距離をコントロールします。この値はシーン単位で指定しますが、[アドバンス設定]タブの[スケール](Scale)値によって単位を分割できます。

通常、バック スキャッタリングの半径は、バック スキャッタリングの[深度](Depth)パラメータと同じ値にします。

深度(Depth)

バック スキャッタリングの深度をコントロールします。この値が大きいほど、オブジェクト内の深い場所までライトが散乱するようになります。深度を大きくすると、後ろから照らされたときの透明度が高くなります。

一般的に、深度値を大きくする場合はライトマップのサンプル数を増やす必要があります。これによってレンダリングされたイメージから斑点が除去されます。

通常、バック スキャッタリングの深度は、バック スキャッタリングの[半径](Radius)パラメータと同じ値にします。

コントロール

サンプルの減衰(Sample Falloff)

半径に沿って散乱するライトの減衰プロファイルを定義します。高い値ほど減衰が急激になります。低い値では減衰が緩やかになり散乱の距離が短くなりますが、[半径]を大きくして補正することができます。

高い値(1.0 ~ 10.0)の場合は、散乱半径内のほとんどのサンプルに均一にウェイトが適用されます。低い値(0.1 ~ 1.0)の場合は、散乱半径の端に近いサンプルに、より小さいウェイトが適用されます。

ライトマップ サンプル(Lightmap Samples)

レンダリングされる各レイによって考慮されるライトマップ サンプルの数を指定します。一般的に、この値は 2 の累乗の値です(16、32、64、128 など)。

微妙なスキャッタリングは多くのサンプルを必要としません。ただし、フロント スキャッタリングおよびバック スキャッタリングの半径を大きくする場合、またはバック スキャッタリングの深度を大きくする場合は、サンプル数を大きくしてレンダイメージから斑点を除去します。

スケール(Scale)

すべての距離のリニア除算を許可する簡単なユーティリティ機能です。スキャッタリングは距離に依存するため、インチ単位で作成されたモデル用にデザインされたマテリアルはメートル単位のモデルにはロードできません(その逆も同じ)。このオプションはスケールの変換係数として使用します。

カラーにスクリーン合成を使用(Use Screen Compositing for Colors)

有効の場合は、スクリーン合成が使用されます。多くのレイヤのライトを一緒に追加するときは、非常に簡単かつ急速に色が消えて露出オーバーのために白になりますが、人間の目は本来非線形であり、彩度を異なる方法で認知します。このオプションでは、多くの合成アプリケーションでレイヤ間のスクリーン変換モードとして知られている機能を使用でき、よりソフトでより望ましい結果を得られます。

無効の場合は、標準の追加が使用されます。ハイ ダイナミック レンジでレンダリングするとき、すでに最終的な輝度が圧縮されている最終出力ステージに適当なトーンオペレータを適用済みの場合は、このオプションを無効にすると最適です。それ以外の場合は、有効にしてより望ましい結果を得られるようにします。

サブサーフェイススキャッタリングのコンポーネントのみ出力(Output Only Subsurface Scattering Components)

デバッグやテストで使用したり、外部合成の準備で使用したりします。有効の場合は、スキャッタリングされた結果のみが表示されます。

Render Tree の使い方

このシェーダは複数レイヤ スキャッタリングの[diffuse_illum]ポートを使用して、それ自身の複数コピーに接続することができますが、最終的にはたいていの場合その[result]出力ポートを[Material]ノードの[Surface]入力ポートへ接続します。