Blender:ペイントしたテクスチャに影を付ける方法(セルルック)

Unityなどの外部ソフトに出力するためには自分で作成したテクスチャが必要になります。そこで今回はペイントしたテクスチャにセルルックの影を付ける方法を行っていきたいと思います。

Blender:記事目次 - Mindの雑記ブログ

画像をクリックすると楽天に飛びます。

ペイントしたテクスチャに影を付ける方法

図のように肌の色をべた塗し、ほほ染めした画像を用意する。この画像を用いてシェーダーを設定していく。

下の画像のようにノードを組むことで影を付けることができる。

①この部分で光が当たった時の明暗の部分を作成している。下記のリンクを参考。

themindsculptor.hatenablog.com

②作成した画像をImageノードに設定する。そこから二つの明暗二つの色を出力するために2分岐する。片方は影の色にしたいのでHSVノードに繋げて出力する。

HSV

  • 色相(Hue)      色の種類(赤、青、黄色)
  • 彩度(Saturation)    色の鮮やかさ
  • 明度(Value)      色の明るさ

HSVノードに繋げた出力は影の色にしたいので明度の値を下げる。

③合計三つの①、②からの出力をMixノードに下の図のように繋げる。Mixノードの係数に①の出力を繋げることで①の出力の暗い部分の色はAの色に、明るい部分の色はBの色になる。なのでAに②の明の部分の出力を繋ぎ、Bに影の部分の出力を繋げる。

影を部分的に出さないようにする方法

HSVノードの係数の値は0から1まで設定することができる。1に近いほど元の画像がHSVノードの影響を受け、0に近いほどノードの影響を受けない。つまり0にすればノードが入っていないのと同じ状況にできる。これを利用し影を出したい部分を白く塗り、出したくない部分を白く塗った画像を用意する。今回は猿の左半分を黒く塗り、右半分を白く塗った画像を使用する。

その画像をImageノードに設定しHSVの係数の値に出力させると左半分が影のない状態にできる。

まとめ

ノードで作成したセルルックはUnityなどの他のソフトでは反映されないので最終的には自分でテクスチャを作成する必要がある。今回のようなノードでキャラクターに色を付けておけば他のソフトとの連携がしやすい。しかし最大の問題はテクスチャを塗るのは難しいということである・・・