ゲーム開発備忘録

ゲームプログラマー UE4・5向けの記事を書いておりますので見ていただけるとありがたいです。

【UE4・UE5】〈Tips〉HPやスコアで使える!カウントが自然に減ったり増えたりする仕組みを作ってみよう

目次

 

はじめに

タイマーが0になったり、ダメージを受けたりする表現を作るときに一瞬で数値が変化するのではなく値が急速に減っていく表現があります。

今回はそのテキストの実装例をまとめましたので参考になれば幸いです。

UE5.0.3のFPPサンプルで解説しますが制限なく実装できます。

 

▼この記事でできること

 

解説

⓪事前準備

Fキーを押したらカウントが200から50、50から200に変化するテキストを実装してみます。

 

ウィジェットでもできますが、作成に手間がかかるのでTextコンポーネントで実装します。

 

任意のキャラクターBPにテキストコンポーネントを実装します。

 

Meshの子にして位置を調整します。

 

実行してテキストが表示される状態まで出来ました。

 

数値を変更してみます。

まずInt型の変数scoreを作ります。

デフォルト値は200です。

 

画像のようにノードを組みスコアが変化できるようにしました。

 

押すたびに値が変化すれば成功です。

 

①補間の作成

 

カスタムイベントLerpCountを作ります。

引数にFloat型のLerpTime,int型のCurrentCount,TargetCountの3つを用意します。

 

タイムラインを作成します。名前をLerpTimelineとしました。


タイムラインを開きフロートトラックのAlphaを作成します。

長さを1に、0から1への補間用のカーブを作成します。

 

イベントグラフに戻りAlphaから入力された値を補間します。


変数にcache_scoreを作成します。

 

Updateにcache_scoreにセットします。

 

最後に関数LerpCountを呼び出します。

 

実行してみましょう。

 

LerpTimeが変化するまでの時間です。

またTimelineのカーブから数値の減衰を変更できるので試してみてください。

 

最後に

UE4やUE5向けの記事を書いています。

皆様の応援が投稿のモチベーションになりますので

コメントやTwitterのフォローなどしていただけるとありがたいです。

それではよきゲーム開発を。