SimpleSSS(シンプルSSSシェーダコンパウンド)

 
 
 

| サーフェイス | 散乱 | アドバンス設定 | Render Tree の使い方

カテゴリ:[SSSコンパウンド]>[SimpleSSS]

[Multiple Outputs]: RGBおよびLightmap

実世界では多くの物質にある程度の透過性があるため、その表面で直接に光が反射することはありません。光は物質表面を貫通し、直進/吸収される前に物質内部に散乱します。「サブサーフェイス スキャッタリング」と呼ばれるこのエフェクトは、わずかに使用するだけでもレンダリングされる広範なマテリアルの写実性を格段に向上させます。サブサーフェイス スキャッタリングの詳細およびイメージについては、「Fast Subsurface Scattering Effects(高速サブサーフェイス スキャッタリング エフェクト)」を参照してください。

[SimpleSSS]シェーダコンパウンドは、高速サブサーフェイス スキャッタリング コンポーネント シェーダを単一のコンパウンドノードにまとめることによって、基本的なサブサーフェイススキャッタリングエフェクトを作成します。このシェーダでは、2種類のライトスキャッタリングと1種類のスペキュラハイライトをサポートします。スキャッタリングレイヤ、イルミネーションレイヤ、およびスペキュラレイヤが同時に追加され、最終的なエフェクトが生成されます。

高速サブサーフェイス スキャッタリング現象とは異なり、SSS Shader Compoundを使用する場合は、各オブジェクトに書き込み可能ライトマップ イメージを手動で作成する必要があります。「SSS コンパウンドのライトマップを生成する」を参照してください。

注:
  • 人間の肌をシミュレートするには、このシェーダコンパウンドのさらに複雑なバージョンに相当するSkinSSS(スキンSSSシェーダコンパウンド)を使用できます。

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

サーフェイス

アンビエントカラー(Ambient Color)

アンビエント イルミネーション コンポーネントのカラーをコントロールします。アンビエント コンポーネントはライトマップに含まれ、他のライトと同様に分散します。

全体のカラー乗算(Overall Color Multiplier)

ディフューズ コンポーネントおよび両方のスキャッタリング コンポーネントがこのカラー値と乗算され、スキャッタリングエフェクト カラーが生成されます。次のような複数の使用法があります。

  • 全体的にエフェクトを明るくしたり暗くする。

  • 最終的な結果を調整する。

  • ライトを減少させるマップに接続する。たとえば、オブジェクトのサーフェイスが汚れていれば散乱光のほとんどをさえぎります。

ディフューズ

カラー(Color)

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

ウェイト(Weight)

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

スペキュラ

カラー(Color)

オブジェクトが照らされているエリア内のスペキュラ サーフェイス カラーを定義します。この値はオブジェクトのディフューズおよびアンビエント値とブレンドされます。

減衰(Decay)

鏡面反射光の減衰率を定義します。

散乱

フロント スキャッタリング

カラー(Color)

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

ウェイト(Weight)

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

半径(Radius)

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

サンプルの減衰(Sample Falloff)

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

バック スキャッタリング

カラー(Color)

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

ウェイト(Weight)

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

半径(Radius)

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

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

深度(Depth)

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

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

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

スキャターコントロール

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

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

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

バイアス(Bias)

フロント スキャッタリングとバック スキャッタリングのいずれかについて、レンダリングされたイメージのスキャッタリングにバイアスをかけることができます。フロント スキャッタリングでは正の値、バック スキャッタリングでは負の値を指定します。

アドバンス設定

間接照明

放射(Radiance)

RGB 放射カラー値を設定して、ライトマップにサンプルおよび保存し、オブジェクトのサーフェイスに拡散する間接照明量(フォトン ライティングやファイナル ギャザリングによって作成された間接照明など)をコントロールします。このオプションはレンダリング時間を大幅に長くしますが、スキャッタリング エフェクトにさらにリアルさが加わることがあります。

また、オブジェクトの特定の場所で間接照明を表すために、このパラメータにテクスチャを使用することができます。

ライトマップ

ガンマのサンプリング(Sampling Gamma)

ライトマップに保存されるライトのガンマ カーブ。1 未満の値では、照明方向に対して垂直方向にライトが拡散します。1 より大きい値では、光源を向いている領域にライトが集中します。

その他

スケール(Scale)

シーンの距離単位をシェーダの距離単位に変換するための変換係数。あるオブジェクトのマテリアルを、異なる単位を使って作成された別のオブジェクトで再利用する場合に有効です。

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

通常、シェーダにより計算されるライト レイヤはすべて同時に追加され、最終的なエフェクトが生成されます。このオプションをオンにすると、スクリーン合成モードを使用してレイヤがブレンドされ、ソフトなエフェクトが生成されます。

ライティング レイヤを組み合わせた場合にオブジェクト上の白いパッチが露出過多になり、明るすぎる結果になる場合には特に有効です。

Render Tree の使い方

[シンプルSSS]シェーダコンパウンドは、[Material]ノードの[Surface]および[Lightmap]入力ポートに直接接続されます。ライトマップファイルは、SSS コンパウンドのライトマップを生成するの説明に従って手動で作成する必要があります。

その入力パラメータを他のシェーダで操作することにより、コンパウンドのエフェクトを拡張することができます。

[Bump]入力: このコンパウンドには、コンパウンドのプロパティエディタに相当するパラメータが存在しないバンプ入力があります。バンプシェーダは、このポートに接続して、バンプマッピングをオブジェクトのサーフェイスに追加できます。バンプマップを[Bump]入力ポートに接続しても、このバンプはディフィーズライティングコンポーネントにしか反映されません。これは、オブジェクト サーフェイスの下にさまざまなレベルのスキャッタリングが発生し、バンプ マッピングの影響を受けなくなるためです。詳細については、「バンプマップ」(「テクスチャリング」)を参照してください。