前回の記事「Skin Builderをベースにしてスキンテクスチャを作ってみた」でテクスチャを作ったので、今回は Iray シェーダーでの肌の質感を左右する SSS を調整してみました。 SSS は強すぎるとゴムとか塩ビっぽい質感で人形の肌っぽくなってしまいますし、弱いと透明感やみずみずしさの乏しい肌になってしまうので加減が難しいところです。

いまのところ下記の画像のような肌にしています。 この肌をベースに SSS の調整をしてみました。

SSS設定の一例
下半身が暗いのはライティングのせいです … ライティングが下手で …

今回使っているスキンシェーダーでは、肌の半透明の度合いを決める Translucency Weight は 0.65 に設定しています。

Translucency Weight

Translucency Weight については「DAZ Studio:肌を白くするにはテクスチャのガンマを調整すればいいかも」で書いたことがあるので参照してみてください。

SSS の調整は Surface ペイン内の Skin の Volume グループで行います。 SSS Mode は Chromatic を使っていて、Transmitted ColorSSS Color は暫定で下記のような色に設定しています。

Volume グループの設定

Transmitted Measurement Distance

Transmitted Measurement Distance ( 以下 TMD ) の値を大きくすると透明度があがり、光が物体の中まで浸透していきます。

Transmitted Measurement distanceが低い場合 Transmitted Measurement distanceが高い場合
あくまで僕の考えているイメージ図なので正確な図ではありません

透明感のある肌を表現するときには、この値がポイントになると思います。

Transmitted Measurement Distanceの違いによる比較

TMDの値を大きくすると、肌全体が明るくなると同時にゴムとか塩ビみたいな質感に近づき、人形の肌みたいな印象を受けますね。 高すぎてもダメだし、低すぎても透明感のない肌になってしまいます。 今回は 0.3 から 0.4 くらいで調整してみました。

Scattering Measurement Distance

Scattering Measurement Distance ( 以下 SMD ) は物体の中で光がどれくらい拡散するか … といった感じです。 SMD の値が小さいほど拡散します。

Scattering Measurement Distance
あくまで僕の考えているイメージ図なので正確な図ではありません
Scattering Measurement Distance の違いによる比較

SMD が大きく、あまり光が拡散しないと陰影が強くでますね。 SMD を小さくして光を拡散させると、明るくなると同時に陰影も柔らかくなってきます。 やりすぎると陰影が飛ぶので注意が必要です。 今回は 0.03 程度に設定してみました。

SSS Direction

SSS Direction は光の進む方向です。 「-1」から「1」の間で設定します。

まず 「1」までの正の値の場合は、光源から発した光の方向は物体の中をそのまま進みます

SSS Direction 1 の場合
SSS Direction 1 のレンダリング結果

逆に「-1」までの負の値の場合は、物体から光源方向へ戻る量が増えます。 「-1」に近づくほど物体から戻る光の量が増えるので明るく見えるようになります。

SSS Direction -1 の場合
SSS Direction -1 のレンダリング結果
マイナス方向に光が進むので明るくなっています

そして 「1」または「-1」に近づくと、光は収束気味になりあまり拡散しません。 逆に「0」に近づくにつれ、光は拡散していきます。

SSS Direction 0の場合
SSS Direction 0のレンダリング結果
光が一番拡散するのが SSS Direction 0

SSS Direction 0.5の場合
SSS Direction 0.5のレンダリング結果
SSS Direction 0 ほどではありませんが、Direction 1.0 に比べると光が拡散しています。 また正の値なので光はそのまま進んでいきます

SSS Direction -0.5の場合
SSS Direction -0.5のレンダリング結果
SSS Direction 0 ほどではありませんが、Direction -1.0 に比べると光が拡散しています。 またマイナス方向へ光が進むので明るくなっています

なので拡散させたい場合は、正または負で「0」に近い値を指定します。 逆に拡散させたくない場合は「1」または「-1」に近づけます。 前述した SMD でも拡散具合を調整できるので、バランスを見ながら調整します。

SSS Direction プラス方向の比較 SSS Direction マイナス方向の比較

Transmitted Color

単純に「色」と考えるより「物体の中に浸透していく光の量」と考えるといいかもしれません。 RGB それぞれの各チャンネルが明るいほど光が増え、低いほど減ります。

Transmitted Color 1
R 0.97 ( 251 )、G 0.14 ( 105 )、B 0.14 ( 105 )

Transmitted Color 2
R 0.97 ( 251 )、G 0.034 ( 55 )、B 0.034 ( 55 )

R チャンネルは同じですが G と B チャンネルが先程に比べて低くなっているので、その分光量が減り若干暗くなっています。


Transmitted Color 3
R 0.97 ( 251 )、G 0.4 ( 168 )、B 0.4 ( 168 )

R チャンネルは同じですが G と B チャンネルが高いので、光量が増え明るくなっています。


Transmitted Color の違いによる比較

SSS Color

SSS Color は目指す色味の補色 ( 反対色 ) で考えるといいと思います。 例えば赤みを和らげたい場合は、赤の補色の緑 ( G チャンネル ) を弱めます。 黄色みを増やしたい場合は、黄色の補色の青 ( B チャンネル ) を強めます。

SSS Color 1
R 0.97 ( 252 )、G 0.40 ( 168 )、B 0.51 ( 188 )

SSS Color 2
R 0.97 ( 252 )、G 0.12 ( 97 )、B 0.51 ( 188 )

G チャンネルを下げて補色の赤みを和らげています。


SSS Color 3
R 0.97 ( 252 )、G 0.40 ( 168 )、B 0.88 ( 241 )

B チャンネルを上げて補色の黄色を強くしています。


SSS Color の違いによる比較

肌の質感は好みの問題ですし、ライティングによっても左右されます。 またテクスチャもキャラごとに違うので各値はそのまま流用できないと思いますが、参考までに今回調整した肌の各値を掲載しておきます。

SSSの設定の一例
Volume グループの設定
Transmitted Measurement distance 0.4
Scattering Measurement distance 0.03
Transmitted Color R 0.97 ( 251 )、G 0.14 ( 105 )、B 0.14 ( 105 )
SSS Color R 0.97 ( 252 )、G 0.40 ( 168 )、B 0.51 ( 188 )
SSS Direction -0.25

参考文献

Skin Shading Essentials Tutorial | 3D Models and 3D Software by Daz 3D