Working with Fast Subsurface Scattering Shaders(高速サブサーフェイス スキャッタリング シェーダを操作する)

 
 
 

高速サブサーフェイス スキャッタリング エフェクトを作成する方法は 3 つあります。

高速サブサーフェイス スキャッタリング フェノメナ

高速サブサーフェイス スキャッタリング フェノメナは、スキャッタリング エフェクトの作成を目的に事前設定されたシェーダ グループです。マテリアル フェノメナは、マテリアルの定義全体を「引き継ぎ」ます(フェノメナを接続すると、マテリアル ノードの[Material]以外のすべてのポートがグレーに変わります)。このため、作業はシェーダをオブジェクトの[Material]ノードの[Material]ポートに接続するだけで、エフェクトに必要なすべてのパラメタを 1 箇所で調整することができます。

Softimage の高速サブサーフェイス スキャッタリング フェノメナは次のとおりです。

mental ray の高速サブサーフェイス スキャッタリング フェノメナは次のとおりです。

高速サブサーフェイス スキャッタリングを作成する

例として、高速単純(misss)フェノメナを使用しますが、上記のマテリアル フェノメナを同じように使用して、サブサーフェイス スキャッタリング エフェクトを作成できます。

  1. サブサーフェイス スキャッタリング エフェクトを適用するオブジェクトを選択し、[7]キーを押して、Render Tree を開きます。

  2. Preset Manager から Render Tree ワークスペースに、高速単純(misss)ノードをドラッグします。

  3. 高速単純ノードの出力を[Material]ノードの[Material]ポートに接続します。

  4. 高速単純ノードをダブルクリックして、そのプロパティ エディタを開きます。

  5. 次のパラメータを設定してエフェクトを定義します。

    • サーフェイス イルミネーション パラメータを設定します。「Defining the Surface Illumination(サーフェイスイルミネーションの定義)」を参照してください。

    • フロント スキャッタリング パラメータとバック スキャッタリング パラメータを設定します。「Defining Scattering(散乱を定義する)」を参照してください。

    • グローバル イルミネーションやファイナル ギャザリングなど、間接照明量を有効にしてコントロールします。この間接照明量はライトマップにサンプリングまたは保存し、オブジェクトのサーフェイスに拡散することができます。

  6. 必要に応じて、バンプ マップまたはディスプレイスメント マップを適用できます。詳細については、「Adding Bump and Displacement Maps(マップとディスプレイスメント マップの追加)」を参照してください。

高速スキン サブサーフェイス スキャッタリングを作成する

高速スキン バージョンの高速サブサーフェイス スキャッタリング フェノメナは、特に人間の肌をシミュレートするためのものです。これは 3 種類のライト スキャッタリング(2 種類のスペキュラ ハイライトと光沢のあるレイトレース反射)をサポートします。スキャッタリング レイヤ、イルミネーション レイヤ、およびスペキュラリティ レイヤが同時に追加され、最終的なスキン エフェクトが生成されます。

高速スキン エフェクトの適用と調整は、高速サブサーフェイス スキャッタリング フェノメナのエフェクトの作成とほとんど同じです。

高速サブサーフェイス スキャッタリング シェーダ コンパウンド

高速サブサーフェイス スキャッタリング シェーダ コンパウンドは、コンポーネント シェーダを使用してサブサーフェイス スキャッタリング エフェクトを作成する際の例として提供されています。Preset Manager の[SSS コンパウンド]カテゴリにある[シンプル SSS]および[スキン SSS]シェーダ コンパウンドの内部構造を参照できます。いずれかのシェーダ コンパウンドを Render Tree のワークスペースにドラッグ アンド ドロップし、編集してそれに含まれるサブサーフェイス スキャッタリング コンポーネント シェーダがどのように接続されているかを表示してみます。

シェーダ コンパウンドは Softimage バージョンの mental ray コンポーネント シェーダを使用して構築されることに注意してください。外部公開されたレイアウトとパラメータは、mental ray コンポーネント シェーダとは正確には一致しませんが、ノード接続の事例としては有効です。

SSS コンパウンドのライトマップを生成する

SSS シェーダ コンパウンドを使用して高速サブサーフェイス スキャッタリング エフェクトを作成する場合は、SSS シェーダ コンパウンドに接続されたオブジェクトごとに別々の書き込み可能ライトマップ イメージを作成する必要があります。SSS シェーダ コンパウンドは、このエフェクトを使用する各オブジェクトに対してローカルである必要があります。ローカルでない場合、ライトマップ シェーダは前のライトマップ シェーダの結果を単純に上書きしてしまいます。

SSS シェーダ コンパウンドを編集するとき、既に Sub-Surface Lightmap Write(サブサーフェイス ライトマップ書き込み) シェーダが含まれていることがわかります。このシェーダは、サンプルするマテリアルを含む Render Tree のブランチに接続されています。ライトマップ書き込みシェーダの[Lightmap]入力および出力ポートは、コンパウンド ノードに表示されます。

  1. 高速サブサーフェイス スキャッタリング エフェクトを作成するオブジェクトを選択し、Render Tree を開きます([7]キーを押す)。

  2. Preset Manager の[SSS コンパウンド](SSS Compounds) [SimpleSSS]ノードまたは[SkinSSS]ノードを Render Tree のワークスペースにドラッグ アンド ドロップします。

  3. シェーダ コンパウンドの[Surface]出力をマテリアルの[Surface]入力ポートに接続します。

  4. シェーダ コンパウンドの[Lightmap]出力をマテリアルの[Lightmap]入力ポートに接続します。

  5. ここでエフェクトのライトマップ ファイルを作成する必要があります。Render Tree コマンド バーから[ユーザ ツール](User Tools) [SSSライトマップの作成](Create SSS Lightmap)を選択します。これにより、オブジェクトのサンプル マテリアルのライトマップ イメージ クリップおよび書き込み可能なイメージ ソースが生成されます。

  6. [sss_lightmap_clip]ノードをシェーダ コンパウンドの[Lightmap]入力ポートに接続します。

高速サブサーフェイス スキャッタリング コンポーネント シェーダ

高速サブサーフェイス スキャッタリング コンポーネント シェーダは、独自の特定の Render Tree 設定で個々に使用することができます。各シェーダの入力および出力は必要に応じて接続でき、マテリアル フェノメナの「ブラックボックス」実装による制限を受けることはありません。

高速サブサーフェイス スキャッタリング コンポーネント シェーダを接続する方法の例については、「高速サブサーフェイス スキャッタリング シェーダ コンパウンド」を参照してください。

mental ray サブサーフェイス スキャッタリング コンポーネント シェーダは次のとおりです。

misss コンポーネント シェーダのライトマップを生成する

コンポーネント シェーダを使用して最初から高速サブサーフェイス スキャッタリング エフェクトを作成する場合は、misss_lightmap_write シェーダを使用して独自のライトマップ ファイルを作成する必要があります。

  1. misss_lightmap_write シェーダを[Material]ノードの[Lightmap]ポートに接続します。

  2. サンプリングするマテリアルを含む Render Tree のブランチを misss_lightmap_write の[input]ポートに接続します。

    一般に、misss_lambert_gamma が使用されますが、ライトマップのモデルのライティングをサンプリングするには、任意のイルミネーション シェーダを使用できます。たとえば、mib_illum_lambert を使用したり、mib_illum_phong とスペキュラ反射のスキャッタリングを試しに使用することもできます。

  3. 接続を確立したら、Render Tree コマンド バーから[ユーザ ツール](User Tools) [SSS ライトマップの作成](Create SSS Lightmap)を選択します。これにより、オブジェクトのサンプル マテリアルのライトマップ イメージ クリップおよび書き込み可能なイメージ ソースが生成されます。

  4. [sss_lightmap_clip]ノードを misss_lightmap_write の[lightmap]ポートに接続します。

シェーダ コンパウンドを作成する

サブサーフェイス スキャッタリング シェーダの Render Tree ネットワークを構築すると、エフェクトを調整するために必要な入力と出力でのみ表示されるシェーダ コンパウンドとして一括できるようになるので、それをシーンのオブジェクトに適用します。詳細については、「Shader Compounds(シェーダ コンパウンド)」を参照してください。

また、Preset Manager にある、既成の SSS コンパウンドを使用することもできます。「高速サブサーフェイス スキャッタリング シェーダ コンパウンド」を参照してください。