【UE】Dissolveマテリアルを作成しよう!動的に制御!
今回は、DissolveMaterialを作成していきたいと思います!
本記事で作成するマテリアルは下記の動画を参考にしていますので、動画でも確認したいところがあればそちらも併せて参照してください。
動画の長さも1分程度なのでかなり見やすかったです!
それでは、作成していきます。
参考動画
上記の動画ではマテリアルを作成するところまでになり、記事後半のブループリントを作成して、動的にブループリントクラスの見た目を変更させる処理はありませんので、ご注意ください!
マテリアルの作成

BlendMode:Masked
ShadingModel:Default Lit
単一の値を設定しているノードは、ScalarParameterになり、Constantではありません。ここを間違えるとマテリアルの見た目を動的(ゲームプレイ中など)に制御することができないのでご注意ください。Constantを配置している方は、右クリックからパラメーターに変換でScalarParameterに変換することができます。

確認用にマテリアルインスタンスを作成します!
コンテンツドロワーにあるマテリアルを右クリックすると「マテリアルインスタンスを作成」の項目があるので選択して作成します
スカラーパラメーターの最低値は画像の通りになります。
・Dissolve:-0.4
・DissolveWidth:0.1
・TransitionSmoothess:0.0

最大値について
・Dissolve:0.7
・DissolveWidth:0.7
・TransitionSmoothess:20.0

ScalarParameterの最大値と最小値の設定はマテリアルインスタンスではなく、マテリアルの詳細タブから設定します。グラフに配置しているScalarParameterノードを選択すると詳細タブに項目が表示されるので、タブ内にあるSlider Min/Maxに値を入力してください。
ブループリントの作成

ブループリントアクタを作成し、コンポーネントにキューブとコリジョンを設定します。

キューブに作成したマテリアルを設定!

作成したブループリントクラスをゲーム内に配置してみました!
これだけでオブジェクトとして利用できそうですよね!??

★使用ノード一覧★
・On Component Begin Overlap (Box)
・On Component End Overlap (Box)
・Print String
・Create Dynamic Material Instance
・Set Scalar Parameter Value
・Set Material

ここまで出来たらゲームをプレイしてみましょう!
キャラクターが、ブループリントクラスに設定しているコリジョンに重なると、ScalarParameterの値が変更され見た目が変わったと思います。

そして、離れる(コリジョン外に行く)とマテリアルが元通りになったと思います。
これで処理は完成です!
お疲れさまでした!
YouTube
YouTubeなどでも、時おり活動をしていますのでよかったらチャンネル登録しておいて貰えると嬉しいです!
上の動画は、Widgetのスライダーを利用してカメラの距離を変更する!という動画です。
その他過去にはゲーム実況やゲーム制作に関する動画など投稿しています!