わかゲームスタジオ

ゲーム制作初心者専門学生の備忘録

UE4 マテリアルだけでゲージを表現したい

f:id:WakaiGames:20200809202048p:plain
ホラーゲームのバッテリーゲージを実装した時、覚えておいたら便利だなと思ったことが多かったので備忘録として。

↓今回の内容↓

 UE4ver.4.24.3

①テクスチャをペイントで書く

f:id:WakaiGames:20200809191230p:plain
f:id:WakaiGames:20200809191233p:plain
  • 前面に表示する枠用(左)
  • 色を付ける部分用(右)※背景を抜くために白黒でデザインします

②マテリアルを作る

f:id:WakaiGames:20200809192127p:plain

  • MaterialDomainをUserInterfaceに変更
  • BlendModeをMaskedに変更

③パラメータを追加しておく

f:id:WakaiGames:20200809192337p:plain

  • s+左クリックでパラメータを追加する。
  • 最終的にBlueprintから値を代入するパラメータです。
  • DefaultValue:1
  • SliderMin:0
  • SliderMax:1

④ゲージにする準備

f:id:WakaiGames:20200809193052p:plain

  • LinearGradient:上方向か下方向の勾配を返します。今回はU方向→横です。
  • 今回は右から左へ減っていくようにしようと思うので値を1-xします。
  • ValueStepでパラメータの割合を適用します。

 公式ドキュメント↓

グラディエント(勾配) | Unreal Engine Documentation

⑤色の設定

f:id:WakaiGames:20200809193906p:plain

  • LerpのAに減った部分(背景)の色を設定。
  • Bに残り部分の色を設定。

⑥前面の枠テクスチャを設定f:id:WakaiGames:20200809194221p:plain

  • 設定した色に白(1)黒(0)をAddで足すことで白い枠を表示しています。
  • 1を超えるのは何となくよくない気がするのでClampしておきます。

⑦FinalColorとMaskを設定

f:id:WakaiGames:20200809194615p:plain

  • オパシティマスクに繋げるテクスチャは背景を抜くために用意したテクスチャです。

\Material完成/

⑧WidgetBlueprintのImageにMaterialを設定

f:id:WakaiGames:20200809195139p:plain

  • WidgetBlueprintにImageを追加してBrushのImageにMaterialを設定します。

⑨値の代入

f:id:WakaiGames:20200809200016p:plain

  • グラフにカスタムイベントを追加してFloat値を受け取ります。
  • イメージからMaterialを取得します。
  • Material内のParameterに値を代入します。
  • Nameには、MaterialBPで追加したParameter名を入力します。

⑩WidgetBlueprintを設定したBPからイベントを呼ぶ

f:id:WakaiGames:20200809201053p:plain

  • 今回はデバッグ用にコントローラのスティック入力値を代入しておきます。

実行すると、、。