シェーダーを2層化して塗装剥がれを表現してみよう

こんにちは。長島です。(/・ω・)/

 

今回は塗装剥がれの表現について紹介しようかと思います。

使用ツールはMaya2017です。

Arnoldのシェーダーを使っていきますが、mentalrayのmia_materialでも同じことができます。

 

 

塗装剥がれの例を見せると……こんなやつです。

図①:塗装剥がれの例

 

塗装が剥がれて下の金属が露出した状態になっています。

塗装剥がれの表現があることで、より現実味のあるものに仕上げることができます。

通常、塗装剥がれは1つのシェーダーで表現することができますが、塗装された金属のように金属と非金属が混ざっていると、1つのシェーダーでコントロールするのが難しくなってしまう場合があります。(やり方は思いつくがややこしい…)

そこで、シェーダーを塗装部分と金属部分の2つに分けて作っていこう……ということです。

 

ball1

図②:塗装と金属のシェーダー

まずは塗装と金属のシェーダーを用意してあげます。図②のような感じです。

 

layerdTex

図③:SurfaceShaderとLayeredTexture

ハイパーシェードを開きます。

Surfaceシェーダー(図③だとmetalPeeling_matという名前にしてあります)とLayered Textureを出してあげます。

そして、Layered TextureのカラーをSurfaceシェーダーのカラーにつないであげます。

(Layered Shaderというのもありますが、何故かそれだとうまくできませんでした…)

Layered Textureを使うことでシェーダーを2層化することができます。

 

layerdTexAttri

図④:塗装と金属のシェーダーを入れる

次に、塗装と金属のシェーダーをLayered Textureに入れていきます。中ボタンドラッグで入れることができます。

デフォルトで緑色のレイヤーが入っていますが、消してしまって大丈夫です。

左側が上のレイヤーになるので、左側を塗装のシェーダーにしてください。

 

Noise_Alpha

図⑤:塗装剥がれのテクスチャを入れる

続いて、塗装レイヤーの方のAlphaに、テクスチャを入れてあげます。

黒い部分が抜けて下の金属部分が見えるようになります。

例としてプロシージャルテクスチャのNoiseを使いましたが、ここには自分で描いたテクスチャを入れてあげます。

 

図⑥:Surfaceシェーダーを割り当てる

ball3

図⑦:Noiseテクスチャの状態

大元のSurfaceシェーダーをオブジェクトに割り当てると、図⑥のようになります。

Noiseテクスチャの状態は図⑦のようになっています。

 

paintPeeling

図⑧:制作例

コレを応用してあげると、図⑧のようなものが作れるようになります。(∩´∀`)∩

(自分ので申し訳ない…)

テクスチャはPhotoshopとMudboxで作りました。

 


 

 

 

 

 

シェーダーをレイヤー化することで少々ややこしくはなりますが、表現の幅は拡がるかと思います。

 

ではでは!(=゚ω゚)ノ

  • このエントリーをはてなブックマークに追加