single.php

UEのマテリアルでプログレスバーを作成する手順

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 でマテリアルだけでプログレスバーを表示したい人の参考になれば幸いです。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です