Unreal Engine 5で開発する過程で、ウィジェットなどに表示するプログレスバーのようなマテリアルを作成する手順を備忘録的に投稿します。
パラメータで制御する[マテリアル]ノード作成
UEでは、パラメータを付けて設定値を変更するマテリアルを作ることが可能です。
1. マテリアルを作成して[詳細]画面で[Material Domain:User Interface]と
[Blend Mode:AlphaComposite]を設定します。
2. 次にような、ノードを作成します。
マテリアルを表示するウィジェットの作成
作成したマテリアルを表示するウィジェットを作成します。
1. ユーザーウィジェットを作成して[階層]に[オーバーレイ]と[画像]を追加します。
2.[画像]を変数化して[Brush|Image]に作成したマテリアルを設定します。
3.[Construct]イベントで[Create Dynamic Material Interface]ノードを使ってインスタンスを変数に保存します。
4.[SetProgress]関数を作成して引数で指定した値が、マテリアルの変数に受け渡されるノードを追加します。
ここまでの編集で[SetProgress]関数で形状が変化するプログレスバーのような機能を持つウィジェットが作成できました。
マテリアルを使ったプログレス表示
作成したウィジェットを実際に使ってみます。
1. プログレスバーを表示するウィジェットを別のウィジェットに追加します。([サイズボックス]下層に追加すると後でサイズ変更がしやすくなります)
2. サイズボックスの[Width Override]などで幅と高さを調整します。
3. プログレス表示がしたいイベントで[Set Progress]関数を呼び出します。
ウィジェット内でプログレスバーのようなマテリアルが表示されます。
まとめ
今回は、Unreal Engine 5のウィジェットなどに表示するプログレスバーのようなマテリアルを作成する手順について書きました。
パラメータで制御できるマテリアルを用意すると別途イメージなどを用意せずにプログレスバーのような表示ができました。
Unreal Engine でマテリアルだけでプログレスバーを表示したい人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。









