【UE4 マテリアル】頂点ペイントで部分的に別のテクスチャーを混ぜる
床を作っているとき、ここだけ別のテクスチャーにしたい・・・
例えば、「草原に土の道をひきたい」といった時に便利なマテリアルの紹介です。
頂点ペイントを使うことで、エディター上で簡単にテクスチャの塗り分けを行うことができます。
(以前紹介した「ワールド貼り床」がベースになっていますので、まだ読んでない方はこちらをどうぞ)
https://weirdmaterials.hatenablog.com/entry/2019/10/13/201510
マテリアルの中身はこうです。
以前の「ワールド貼り床」から追加した部分は赤色のコメントをつけています。
メッシュの頂点カラーRが0に近づくほど、土のテクスチャがブレンドされるようになっています。
【パラメータの説明】
NoisePower・・・ノイズテクスチャの影響倍率
0.5倍なら最大0.5がマスクから減算される
AlphaThreshold(R)・・・2枚目のテクスチャーを重ねるしきい値
GradationWidth(R)・・・マスクのグラデーション幅(下げるほど2値に近づく)
ポイントはノイズテクスチャで頂点ペイントに味付けをしている部分です。
ノイズテクスチャ処理がなかった場合だと以下のような見た目になります。
これはこれでありかな?とも思いますが、頂点ペイントである以上はどうしても境界がボヤ~っとした見た目になってしまいます。
このマスクに対して、同じように「ワールド貼り」したノイズのテクスチャを使い、マスク部分を削ってあげます。
そうすることで、境界部分のディテールを補完することができます。
なお、ノイズのテクスチャーはPhotoshopのフィルター効果「雲模様」で作っています。
また、マスクとしてノイズテクスチャーを別途用意する以外にも、重ねる1枚めのテクスチャーの明度などをマスクとして使用するなどでも良いと思います。
(例えば、タイルの床の溝の部分にコケを多めに乗せたいなどの場合は、タイルの明度をマスクとして使えばよいでしょう)
マテリアルを作り終えたら、
あとはマテリアルを貼ったメッシュに頂点ペイントをしてあげるだけです。
「モード」タブの筆マークのところから頂点ペイントツールを出すことができます。
通常、メッシュには頂点カラーRGBA全てが入った状態になっていると思います。
今回作ったマテリアルは「頂点カラーRが0に近づくと別のテクスチャが出る」という内容なので、赤線の「チャンネル」の部分を「Red」だけに設定し、Shiftを押しながらクリックでペイントしていきましょう。
逆に2枚目のテクスチャを消したい時は、クリックでペイントしていけばOKです。