今まで使っていたトゥーンシェーダでは、通常のテクスチャに加えて、影用のテクスチャの二枚のテクスチャが必要だった。
ShaderForgeをいじりながら、テクスチャを一枚だけにして、影になる部分には特定の色を乗算することにして、テクスチャを1枚で済ませるようにしてみた。
ついでに、ポスタライズの効果を出せるノードもあったので使ってみた。
その結果が冒頭の画像。
影の部分が段階的に変化している。
この段階は数値で指定することが出来る。
ただし、この方法にも問題がある。
たとえば、ローポリのようなモデルは、一枚のテクスチャに衣装や肌、アクセサリなどの色を描いて、少ないマテリアルで表示することが多い。
なので、服と肌で同じマテリアルを使用すると、乗算する影色が同じ色しか指定できない。
もし、肌の部分は赤い影、コスチュームは青い影のように、影色を部分ごとに指定したかったら、マテリアルを別にしなければならない。
というわけで、結論として、以前のようにテクスチャを二枚使うほうが、UVの島ごとに影色を描き分けられるので、マテリアルを分けずに済んで便利だということになった、わはは。
まぁ、ShaderForgeをいじるいい機会だったのでだいぶ勉強になった。
次はセルフシャドウに挑戦したいんだけれども、こちらはなかなか難しそうだ。
Related Posts
カテゴリー: Unity5