体力ゲージが残り少なくなったら点滅させるのを作ってみます。
いろんな方法が考えられますが、簡単なやつをご紹介します。
ゲージは、前回の記事で作ったものを使用します。
体力ゲージ用のマテリアルに点滅する処理を入れます。
↓ビフォー
↓アフター
通常のカラーとピンチ用の赤色をLerpノードで切り替えます。
そのLerpノードのAlphaピンに、サインカーブをつなぐと2つのカラーが交互に切り替わります。サインカーブはそのままだと値の範囲が -1.0 ~ +1.0 なので、いったん 0.5を掛けて半分にしてから、0.5を足すことで 0.0 ~ 1.0 の範囲に補正できます。
Timeノードをつながないとサイン波は出てこないので左端につないで、スピード調整用にMultiplyノードで加速できるようにしておきます。
サインカーブのアニメーションができたのですが、そのままつないでしまうと常時点滅することになるので、パラメータを掛け算するようにつないでスイッチにします。
Lerpノードは線形補間をするノードで、 Alphaの値が 0.0 のときはAの値、 1.0のときはBの値を取り出すことができます。
Pinch という名前のスカラーパラメータに 0.0がくると、サインカーブの値がすべて 0.0になるので結果的に点滅しません。スカラーパラメータ―が 1.0 になるとようやくサインカーブの値が素直に流れ出します。
これでマテリアルが完成です。
あとはWidgetブループリントの方で、このスカラーパラメータの値をいじるだけです。
体力ゲージの長さを更新するための関数を編集します。
↓ビフォー
↓アフター
0.25以下なら true、 それ以外なら false ということで Selectノードを使います。
ブランチノードと違って最後の SetScalarParameterValueノードが一つで済むので便利です。
はい。できあがりです。
ではでは
素敵なゲージライフを!