高速サブサーフェイス スキャッタリング エフェクトを作成する方法は 3 つあります。
[マテリアルフェノメナ](Material phenomena): 高速サブサーフェイス スキャッタリング フェノメナは、単一のシェーダノードにパッケージングされている事前定義されたシェーダの組み合わせです。ライトマップ生成など、エフェクトの作成に必要なモノをすべて、1 つのノードで操作できます
[シェーダコンパウンド](Shader compounds): あらかじめパッケージングされた高速サブサーフェイス スキャッタリング シェーダ コンパウンドは、サブサーフェイススキャッタリングエフェクトを最初から作成する方法の例として提供されています。マテリアル フェノメナとは異なり、シェーダ コンパウンドは独自のライトマップ ファイルを手動で作成する必要があります。
[コンポーネントシェーダ](Component shaders): 高速サブサーフェイス スキャッタリング コンポーネント シェーダを使用してエフェクトを最初から作成します。シェーダ コンパウンドと同様、独自のライトマップ ファイルを作成する必要があります。
高速サブサーフェイス スキャッタリング フェノメナは、スキャッタリング エフェクトの作成を目的に事前設定されたシェーダ グループです。マテリアル フェノメナは、マテリアルの定義全体を「引き継ぎ」ます(フェノメナを接続すると、マテリアル ノードの[Material]以外のすべてのポートがグレーに変わります)。このため、作業はシェーダをオブジェクトの[Material]ノードの[Material]ポートに接続するだけで、エフェクトに必要なすべてのパラメタを 1 箇所で調整することができます。
Softimage の高速サブサーフェイス スキャッタリング フェノメナは次のとおりです。
[イルミネーション](Illumination)> Fast Simple(misss)(高速シンプル(misss))
[イルミネーション](Illumination)> Fast Skin(misss)(高速スキン(misss))
mental ray の高速サブサーフェイス スキャッタリング フェノメナは次のとおりです。
[mental ray]>[マテリアルフェノメナ](Material Phenomena)> misss_fast_simple_phen
[mental ray]>[マテリアルフェノメナ](Material Phenomena)> misss_fast_skin_phen
[mental ray]>[マテリアルフェノメナ](Material Phenomena)> misss_fast_skin_phen_d(ディスプレイスメントあり)
例として、高速単純(misss)フェノメナを使用しますが、上記のマテリアル フェノメナを同じように使用して、サブサーフェイス スキャッタリング エフェクトを作成できます。
サブサーフェイス スキャッタリング エフェクトを適用するオブジェクトを選択し、[7]キーを押して、Render Tree を開きます。
Preset Manager から Render Tree ワークスペースに、高速単純(misss)ノードをドラッグします。
サーフェイス イルミネーション パラメータを設定します。「Defining the Surface Illumination(サーフェイスイルミネーションの定義)」を参照してください。
フロント スキャッタリング パラメータとバック スキャッタリング パラメータを設定します。「Defining Scattering(散乱を定義する)」を参照してください。
グローバル イルミネーションやファイナル ギャザリングなど、間接照明量を有効にしてコントロールします。この間接照明量はライトマップにサンプリングまたは保存し、オブジェクトのサーフェイスに拡散することができます。
必要に応じて、バンプ マップまたはディスプレイスメント マップを適用できます。詳細については、「Adding Bump and Displacement Maps(マップとディスプレイスメント マップの追加)」を参照してください。
高速サブサーフェイス スキャッタリング シェーダ コンパウンドは、コンポーネント シェーダを使用してサブサーフェイス スキャッタリング エフェクトを作成する際の例として提供されています。Preset Manager の[SSS コンパウンド]カテゴリにある[シンプル SSS]および[スキン SSS]シェーダ コンパウンドの内部構造を参照できます。いずれかのシェーダ コンパウンドを Render Tree のワークスペースにドラッグ アンド ドロップし、編集してそれに含まれるサブサーフェイス スキャッタリング コンポーネント シェーダがどのように接続されているかを表示してみます。
シェーダ コンパウンドは Softimage バージョンの mental ray コンポーネント シェーダを使用して構築されることに注意してください。外部公開されたレイアウトとパラメータは、mental ray コンポーネント シェーダとは正確には一致しませんが、ノード接続の事例としては有効です。
SSS シェーダ コンパウンドを使用して高速サブサーフェイス スキャッタリング エフェクトを作成する場合は、SSS シェーダ コンパウンドに接続されたオブジェクトごとに別々の書き込み可能ライトマップ イメージを作成する必要があります。SSS シェーダ コンパウンドは、このエフェクトを使用する各オブジェクトに対してローカルである必要があります。ローカルでない場合、ライトマップ シェーダは前のライトマップ シェーダの結果を単純に上書きしてしまいます。
SSS シェーダ コンパウンドを編集するとき、既に Sub-Surface Lightmap Write(サブサーフェイス ライトマップ書き込み) シェーダが含まれていることがわかります。このシェーダは、サンプルするマテリアルを含む Render Tree のブランチに接続されています。ライトマップ書き込みシェーダの[Lightmap]入力および出力ポートは、コンパウンド ノードに表示されます。
高速サブサーフェイス スキャッタリング エフェクトを作成するオブジェクトを選択し、Render Tree を開きます([7]キーを押す)。
Preset Manager の[SSS コンパウンド](SSS Compounds) [SimpleSSS]ノードまたは[SkinSSS]ノードを Render Tree のワークスペースにドラッグ アンド ドロップします。
ここでエフェクトのライトマップ ファイルを作成する必要があります。Render Tree コマンド バーから[ユーザ ツール](User Tools) [SSSライトマップの作成](Create SSS Lightmap)を選択します。これにより、オブジェクトのサンプル マテリアルのライトマップ イメージ クリップおよび書き込み可能なイメージ ソースが生成されます。
高速サブサーフェイス スキャッタリング コンポーネント シェーダは、独自の特定の Render Tree 設定で個々に使用することができます。各シェーダの入力および出力は必要に応じて接続でき、マテリアル フェノメナの「ブラックボックス」実装による制限を受けることはありません。
高速サブサーフェイス スキャッタリング コンポーネント シェーダを接続する方法の例については、「高速サブサーフェイス スキャッタリング シェーダ コンパウンド」を参照してください。
mental ray サブサーフェイス スキャッタリング コンポーネント シェーダは次のとおりです。
[mental ray]>[マテリアル](Material)> misss_fast_shader
[mental ray]>[マテリアル](Material)> misss_fast_shader_x
[mental ray]>[マテリアル](Material)> misss_skin_specular
[mental ray]>[マテリアル](Material)> misss_call_shader
[mental ray]>[ライトマップ](Lightmap)> misss_lightmap_write
[mental ray]>[テクスチャ](Texture)> misss_lambert_gamma
コンポーネント シェーダを使用して最初から高速サブサーフェイス スキャッタリング エフェクトを作成する場合は、misss_lightmap_write シェーダを使用して独自のライトマップ ファイルを作成する必要があります。
misss_lightmap_write シェーダを[Material]ノードの[Lightmap]ポートに接続します。
サンプリングするマテリアルを含む Render Tree のブランチを misss_lightmap_write の[input]ポートに接続します。
一般に、misss_lambert_gamma が使用されますが、ライトマップのモデルのライティングをサンプリングするには、任意のイルミネーション シェーダを使用できます。たとえば、mib_illum_lambert を使用したり、mib_illum_phong とスペキュラ反射のスキャッタリングを試しに使用することもできます。
接続を確立したら、Render Tree コマンド バーから[ユーザ ツール](User Tools) [SSS ライトマップの作成](Create SSS Lightmap)を選択します。これにより、オブジェクトのサンプル マテリアルのライトマップ イメージ クリップおよび書き込み可能なイメージ ソースが生成されます。
[sss_lightmap_clip]ノードを misss_lightmap_write の[lightmap]ポートに接続します。
サブサーフェイス スキャッタリング シェーダの Render Tree ネットワークを構築すると、エフェクトを調整するために必要な入力と出力でのみ表示されるシェーダ コンパウンドとして一括できるようになるので、それをシーンのオブジェクトに適用します。詳細については、「Shader Compounds(シェーダ コンパウンド)」を参照してください。
また、Preset Manager にある、既成の SSS コンパウンドを使用することもできます。「高速サブサーフェイス スキャッタリング シェーダ コンパウンド」を参照してください。