【UE4 マテリアル】床の上に置いたモノのテクスチャを床になじませる
床に置いたオブジェクトの接地面の「ぶっ刺し感」が気になる・・・というときに使えるマテリアルの紹介です。
(前回紹介したの「ワールド貼り床」を使うので、まだ読んでない方はこちらをどうぞ)
https://weirdmaterials.hatenablog.com/entry/2019/10/13/201510
マテリアルの中身はこうです。
やっていることは単純です。
「SmoothStep」を用いるとMin値~Max値までを0~1のグラデーションにして出力できるので、そうして作ったマスクをもとに床のテクスチャーをブレンドしている、といった内容です。(マスクを出力してみると↓の画像のような感じです)
基準となるオブジェクトのピボットのZ座標をMin、それにパラメータ「GradationWidth」を足したZ座標がMax、ということになります。
・「OffsetHeight」は基準となる高さをオフセットするためのパラメータです。
メッシュのピボットがオブジェクトの底面になっていない場合などに使ってください。
・「UseWorldZ」のスタティックスイッチは、オンにするとメッシュのピボットではなくワールド座標を基準にします。地面にめり込ませてぶっ刺しで使いたい場合はこのスイッチをオンにして、「OffsetHeight」に床のZ座標を入れてください。
↑UseWorldZはこういった置き方をしたい場合に便利です
注意点として、ワールド貼りしている床テクスチャとタイリングの大きさがずれていると当然ブレンドがうまく行きませんので、「TilingSize」の大きさはしっかり合わせておきましょう。