Maya2018(Arnold5)でのSSSかんたん検証①

どうも!Maya太郎です。

 

当ブログをご覧の(あるいはたどり着かれた方)は
SSS(サブサーフェーススキャッタリング)というものをご存知かと思われます。

普通のCGでは
物体の表面で光がすべて反射する…という前提で行いますが
半透明の材質など、
実際にはオブジェクトの内部まで光が入り込み乱反射するというものも数多く存在しています。
人間の肌も、その代表格だったりします。

以前のArnoldのバージョンでは
SSS(サブサーフェーススキャッタリング)を細かく制御できる
スキンシェーダーと言う専用のシェーダーがありましたが
Arnold 5からは廃止されました。

標準のStandard Surfaceシェーダー内の
一部の設定を使うだけで
SSS(サブサーフェーススキャッタリング)の表現を行います。
設定項目が激減したので、正直「これで足りるの?」と心配ではあるのですが…

マテリアル設定のプリセットにも「Skin」がありますので
初心者の方でも手軽に使い始められます。

そこで、簡単な設定方法を紹介します。


今回の作例は
数年前に作った仏像データです。
(当時)Sculptrisというフリーソフトでスカルプト仕上げしています。
今ならZ-Brushで作っているでしょうね…
このデータを久しぶりに発見したのと、ブログに掲載可能な作品なので
埋もれていたデータを再活用する事にしました。

Sculptrisは独特の機能があり
ペイントしたところのメッシュのみ自動再分割しながら作り進められるので
ディテールの細かい部分のみメッシュを細かく出来るのでとても面白いソフトでした。

Sculptris開発者がZ-Brushの開発会社に就職して(後日辞めたらしい?)
権利が無くなってしまったようで、このソフトは打ち止めっぽいような気がするのですが…
Z-Brushにもこの機能は取り込まれてないし、どこかの会社がこの機能を引き継いで欲しいです
メッシュの自動分割にUVの再構築まで連動してくれたら、このソフトはもっと評価されていたような気がします…


プリセットを使えば簡単にsssが使えます

サイズ違いの仏像を数体用意しました。
Standard Surfaceシェーダーを割り当てます。

アトリビュートエディターから
「プリセット」→「Skin」→「置き換え」で
プリセットの設定値に置き換えます。

これだけで、半透明のおもちゃのような
そんな質感が実現できました。
ノイズは仕上げの時に軽減させます。

スウォッチを見るとなぜか青っぽいのが気にあります。
そしてレンダリング画像(↑)をよく見ると、
羽衣のような薄い箇所は青っぽくレンダリングされている事に気が付きます。

 

この青がどこから来ているのかを
調べてみますと
SubsurfaceのRadius(半径)に設定されているカラーの補色
(ネガポジ反転)した色あることが分かりました。

根拠はこの設定です。
Radiusカラーを水色にすると
厚みのある部分は水色に、厚みの無い部分はその補色である
赤色に色が付きました。

内部のフクザツな原理は今回無視して
経験則ではこうなるよ!
と、覚えておけばいいと思います。

ユーザーガイドhttps://support.solidangle.com/display/A5AFMUGJPN/Subsurface
には、
スキンをレンダリングするときは、1.0、0.35、0.2 などの値を使用します。これは、赤が最も深く散乱し、緑と青が控えめになることを示します。これにより、深いレイヤを赤にしてその深さではより大きな半径で散乱させる必要があることを示す、スキンの 3 層レイヤのワークフロー(深いレイヤ、中間レイヤ、浅いレイヤ)が置き換えられます。scatter_radius.R をより大きな値に設定することがこれに対応します。(ユーザーガイドの原文)

とあります。
簡単に言えば、「肌の表現をする場合は、Radiusカラーは赤っぽくしておきましょう。」
ということです。

ですので「Skin」のプリセットでも赤系の色が使われているわけですね。


話の区切りどころが難しいので
一旦ここで区切ります

続きます!