MaterialSSS

MaterialSSS は 肌の表現です。

肌の透明感の演出に NV を効果的に使用しています。

ここでは、マテリアルサンプル MaterialSSS の設定について説明します。

material_sss画像

注意:
このサンプルを見るときはシーン内にフラグメントライトがあることを確認してください。
なければフラグメントライトを作成してください。

マテリアルの設定

CreativeStudio のコンテンツパネルに表示されている sss_mat をクリックしてマテリアルパネルを開きます。

全般

マテリアルパネルの「全般タブ」を確認します。

ライティングの設定が「フラグメントライティング」になっています。

これは MaterialSSS の参照テーブルがフラグメントライトで行われていることを意味します。

thinfilm_chess画像02

補足:
ライティングの設定は使用するライトに合わせて変更する必要があります。

カラー設定

マテリアルパネルの「カラータブ」を確認します。

MaterialSSS ではスペキュラー 0 にグレーを設定しています。

この設定は、参照テーブルの「分布 0」で設定している「スペキュラーの調整」のために設定しています。

thinfilm_chess画像03

フラグメントの設定

マテリアルパネルの「フラグメントタブ」を確認します。

MaterialSSS のフラグメントシェーダーのレイヤーコンフィグは「コンフィグレーションタイプ 4」です。

この設定は、参照テーブルの 要素「反射 R」「反射 G」「反射 B」「分布 0」「分布 1」を有効にする設定です。

thinfilm_chess画像04

レイヤーコンフィグの詳細は、こちらを参照してください。

参照テーブルの確認

参照テーブルでは、「参照テーブルセット」と「参照テーブルで使用されている要素」を確認します。

参照テーブルセット

参照テーブルセットに LookupTableSetContentCtr0 が選択されています。

thinfilm_chess画像05

補足:
参照テーブルセットは、作成した参照テーブルをまとめて管理しています。
CreativeStudio のコンテンツパネルに表示されている LookupTableSetContentCtr0 をクリックすると参照テーブルセットパネルが表示され、管理されている参照テーブルが確認できます。

要素

次に参照テーブルの要素を確認します。

MaterialSSS では「反射 R」「反射 G」「反射 B」と「分布 0」「分布 1」が設定されています。

thinfilm_chess画像06

参照テーブル 「sss_reflectance_r」「sss_reflectance_g」「sss_reflectance_b」 は光の陰影に対する肌色の変化を表しています。

参照テーブル 「sss_distribution0」「sss_distribution1」は強い光の分布を調整しています。

入力角

次に入力角を確認します。

MaterialSSS では要素毎に以下の入力角を使用しています。

sss_chess画像07
「反射 R」「反射 G」「反射 B」は 入力角 LN

入力角 LN はディフューズ表現です。

モデルがライトに照らされる効果を表現します。

MaterialSSS では光の強く当たる所から、当たらない所に向け肌色を変化させます。

「分布 0」は入力角 NH

分布 0 はスペキュラー0 の色を NH の入力角で分布させます。

サンプルの平らなカーブを調整すると、肌の弱いスペキュラーが表現できます。

「分布 1」は入力角 NV

分布 1 はリフレクションファクターがチェックされている場合は、スペキュラー1 ではなく 反射 R 反射 G 反射 B の色分布を調整します。

NV はカメラ正面からモデルのふちに向かって光の流れを作ります。

テクスチャコンバイナ

テクスチャコンバイナを確認します。

MaterialSSS では「コンバイナ 0 カラー」を設定しています。

thinfilm_chess画像09
設定項目 設定
計算式 A
A : ソース 0 セカンダリカラー

この設定は、セカンダリカラーをそのまま使うことを意味します。

補足:
ソース 1 と ソース 2 に頂点シェーダーの出力結果が入っていますが「計算式で使用されていません」ので、モデルに対して何も影響を与えません。

参照テーブルの確認

MaterialSSS で実際に使用されている参照テーブルをカーブエディタパネルで確認します。

CreativeStudio のコンテンツパネルにある LookupTableSetContentCtr0 を選択します。

上記状態で、メニュー [ウィンドウ]→[カーブエディタ] を選択してカーブエディタパネルを開きます。

sss_chess画像10

sss_reflectance_r / g / b の設定

カーブエディタパネルに表示されている「sss_reflectance_r / g / b」を選択してカーブを確認します。

sss_chess画像11

陰影の変化に合わせた肌色の変化を表現しています。

sss_distribution0

カーブエディタパネルに表示されている「sss_distribution0」を選択してカーブを確認します。

sss_chess画像12

肌の弱いスペキュラー表現をするためのカーブです。

sss_distribution1

カーブエディタパネルに表示されている「sss_distribution1」を選択してカーブを確認します。

sss_chess画像13

視点から見た肌の透明感を「反射 R」「反射 G」「反射 B」を調整して表現しています。

ヒント:
このカーブは、ふちが暗くなるような表現を設定しています。半透明モデルは正面が透けて、ふちが透けないため結果中央が明るく見えます。
カーブをさらに調整してモデルのふちを明るくすると、半透明の肌のふちから光が漏れだすような表現ができます。