アニメ風の髪の質感をマテリアルで作る方法を紹介する。
もくじ
最終的には手描きのほうがいい
今回はシェーダーで髪の質感を作る方法を紹介するが、影を利用するためライティングによって左右されてしまう。
アニメ的表現の影は制御しにくく、完全に制御できていないと良くない印象の影になってしまう。
そのため、よりこだわるなら制御のしやすいテクスチャ(手描き)の方がおすすめ。
これは肌など他の部分の質感も同様。
仮の質感付けやたたき台としてシェーダーを使うのはあり。
質感の作り方
今回はカーブから作った髪のふさメッシュを元に作成する。
カーブのメッシュはUVが全て同じ方向に揃っているため、今回のシェーダーではこの特性を利用する。
全体像
ノードは下から上に重ねるように配置している。
このようにするとレイヤーみたいに把握しやすい。
左側にマスク用素材を作って、それを右側のRGBミックスノードのマスクに使って、色を重ねていく。
UV-X軸でハイライト
UV X軸の座標を、ノイズで歪ませる。
テクスチャ座標は、ノイズテクスチャなどとミックスすると歪んだ座標にすることができる。
UV座標とノイズテクスチャで歪んだUV座標を、RGBミックスノードの[ミックス]で薄く合成する。
ノイズのスケールは、ここでは細かいとうるさくなるため、大きめでよい。
UV座標は横と縦(UとV)の情報である。UV座標の片方だけを抽出すればグラデーションと取ることができる。
XYZ分離ノードで、Xのみを分離する。
このグラデーションを、カラーランプノードでほしい範囲だけ絞る。
これで作った素材を、下記のカラーランプと薄く重ねてハイライトとした。
ハイライトは濃すぎると主張が激しくなる。
好みの問題だが、昨今の流行りの塗りとしては髪のハイライトは薄いものが多い印象。
カラーランプで色付け
シンプルなシェーダーであるディフューズBSDFを使う。
これを[シェーダーからRGBへ]ノードを使って色にすることで、カラーランプで調整できるようになる。
カラーランプで好きな色を付ける。
カラーランプの設定は、[一定]だとパキッとした印象になる。
2影以上増やしたいときは[ + ]で要素を増やす。
フレネルで輪郭強調
フレネルノードにより、カメラ視点からみた外側を得られるので、輪郭強調に利用する。
カラーランプの影の色と同じ色を設定する。
グラデーション
UVのX軸を、カラーランプで調整して濃い色を重ねる。
完成
リアル寄り
リアル寄りの表現にしたいならカラーランプを一定ではなくリニアにしたり、縦線を加える。
ノイズテクスチャを追加し、マッピングノードのスケールで縦に引き伸ばす。
これをバンプマップとしてディフューズBSDFノードにつなげると、細かい縦線を表現できる。
ベイクはできない
「シェーダーからRGBへ」ノードは、Eeveeレンダーでしか利用できず、Blenderのベイク機能はCyclesにしかないため、今回作ったノードはベイクすることができない。
フレネルノードはカメラ視点依存のためベイクできない。
ベイクしたい場合は、AO・影・UVなどの要素ごとにベイクして、Photoshopなどで似たような構造に再構築する方法はある。