SubstancePainterではSubsurfaceScattering -SSS-(サブサーフェススキャタリング)をビューポートとIrayで表示することができるようになっています。
SubsurfaceScatteringとは?
サブサーフェス・スキャタリング(Subsurface Scattering)は、光が半透明な物体の表面を透過し、内部で散乱した後に表面から出て行くメカニズムのこと。表面下散乱という訳語で呼ばれる事もある。フォトリアルな3DCGの質感を生成する技術のひとつである。SSSと略される。
Wikipediaより引用
SubsurfaceScattering(SSSと省略されることが多い)が起こりやすいものとして代表されるものに、人間の体の一部(指や耳)や大理石や翡翠などの石、ろうそくなどがあります。
簡単にいうと半透明な物質に光が強く当たる時に、内部が透けている様に見える現象のことですね。
SubstancePainterではこの現象をペイント時にシミュレーションすることができるようになっています。
最終的にDCCソフトなどでSSSを表現する際にはソフトごとのテクスチャ接続時にまた別の手順が必要になりますが、ペイント時にSSSを表現した状態を確認する際には便利です。
今回はSubsurfaceScatteringを使う手順について簡単に紹介します。
【SubstancePainter】Sub Surface Scattering-SSS-を使う
SubsurfaceScatteringを使用するにはまずそれに適したシェーダーになっているかを確認する必要があります。(SSSを使えないシェーダーがあるため)
デフォルトのシェーダーである「pbr-metal-rough」はSSSを使うことができるので、特にシェーダーの変更をしていない場合はそのままでOKです。
SubsurfaceScatteringを使用できるように設定する
SubsurfaceScatteringを使用するためにはいくつか設定をする必要があります。
必要なのはディスプレイ、チャンネル、シェーダーの設定です。
ディスプレイの設定
SubsurfaceScatteringをビューポートやIray上で表示できるように、ディスプレイの設定をする必要があります。
DISPLAY SETTINGSから「Activate Subsurface Scattering」にチェックいれます。
これでビューポート上でSSSを表示することができます。
SSSチャンネルの追加
SubsurfaceScatteringを表現するレイヤーにSSSチャンネルを追加しないとペイントが出来ないので、
TEXTURE SET SETTING▶︎CHANNELの+をクリックして「Scattering」を追加します。
シェーダーの設定
SubsurfaceScatteringのパラメーターを調整できるようにシェーダーを設定する必要があります。
SHADER SETTINGS▶︎Subsurface Scattering Parametersの「Enable」にチェックをいれます。
ここのパラメーターやカラーを調整することでSSSの影響範囲やカラーを調整することができます。
SubsurfaceScatteringをペイントする
設定が完了したらSubsurfaceScatteringをペイントしていきます。
適当にキューブを読み込んでスマートマテリアルの「Skin Human Simple」を割り当ててみた状態です。
通常の表示では表現できない皮膚の透け具合が表示されるようになりました。
画像だとわかりにくいかもしれませんが、光源の方向を変えると透けている部分の光の散乱が表現されているのがわかると思います。
透けている部分のカラーの調整
SHADER SETTINGSのSubsurface Scattering Parametersからカラーを調整してみます。
少し赤っぽい色味に設定してわかりやすくしました。
キューブのフチ部分のSSSカラーが赤っぽくなり皮膚の透明感がマシマシになりました。
塗りつぶしレイヤーでSSSを表現
通常レイヤーや塗りつぶしレイヤーでもSubsurfaceScatteringを表現することができます。
マスクなどと組み合わせれば意図した部分にのみSSSの透け感を表現するといったことも可能です。
ここでは「Skin Human Simple」マテリアルの上に塗りつぶしレイヤーを作成してSSSのパラメーターのみを表示したいと思います。
塗りつぶしレイヤーを作成したらチャンネルに「Scattering」があるかどうかを確認します。
PROPERTIESからチャンネル表示を「scatt」のみにします。
あとはScatteringのパラメーターを調整することで好みの強さのSSSを表現することができます。
Subsurface Scatteringのみを塗りつぶしレイヤーで設定しています。
石などのマテリアルにもSSSを表示する
Subsurface Scatteringは人体だけでなく、石などにも起こります。
代表的なのが翡翠や大理石などですね。
ちょうどデフォルトのマテリアルにJade−翡翠−のマテリアルが合ったので、こちらでも試してみたいと思います。
上の画像は通常の設定でJadeマテリアルを割り当てた状態ですが、このままでは透明感をあまり感じません。
SubsurfaceScatteringの表示設定をしてパラメーターを調整した状態です。
光が透けて通っているのが表現されていることで、グッとそれっぽくなりました。
モデルがキューブなので微妙ですが、石の形状をしたモデルでやってみるとリアルな翡翠っぽく見えると思います。
キャラクターの顔でSSSを表現
個人的によく見かけるのは人間の顔パーツなど(耳とか鼻とか口)にSubsurfaceScatteringがかかっている状態です。
人間の顔モデルを作成してある程度テクスチャを描いている状態でSSSを試してみたいと思います。
上の画像がSSSを適用していない状態です。
SSSを適用した状態です。
パッと見わかりにくいですが、鼻の頭や唇に透明感が出ました。
SSS無しの口元ですが、影部分が黒くて透明感を感じません。
いかにもゲームモデルって感じですね。
SSSを適用した状態の口元です。
鼻の頭や唇に透明感のある色味が表現されるのでより自然な感じになっています。
通常のレイヤーに作成したいテクスチャを割り当てて、その上の塗りつぶしレイヤーでSSSを表現しています。
まとめ
今回はSubstancePainterでSubsurfaceScatteringを使う手順について紹介しました。
SSSは実際はDCCソフトやゲームエンジン内のマテリアルの設定などで表現することが多いと思うので、SubstancePainterでは確認のためのシミュレーションとして使うことになるかと思います。
透け感をテクスチャペイント時に確認してみたい場合には面白い機能だと思うので、ぜひ試しに使ってみてください。
詳しい説明を知りたい方はSubsurfaceScatteringついての公式ページ(英語)チェックしてみてください。
▼SubsurfaceScatteringについての公式ページ
▼Substance Painter初心者の方にオススメの教本
▼キャラクターのテクスチャペイントの参考になりそうな本(バージョンは古め)