ゲーム開発備忘録

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

【UE4・UE5】〈Tips〉ゴルフゲームによくあるパワー?気合?ゲージを実装しよう

目次

 

はじめに

 

今回はゴルフゲームなどによくあるパワーゲージのUIをサクッと解説します。 

個人の備忘録としてまとめています。誤った情報がある場合があります。

コメントにてご指摘のほどお願いいたします。

TPSサンプル UE5.4.3で解説します。

 

解説

①UIの作成

コンテンツフォルダで右クリックしユーザーインターフェース->ウィジェットブループリントをおします。


ユーザーウィジェットを選びます。

 

できたアセットをWB_PowerGageと名付けました。

 

プログレスバーの追加

ゲージの仕組みはプログレスバーを活用すると楽にできるのでこれを使います。

ウィジェットを開き、キャンバスパネルとProgressBarの2つを追加します。

配置はお好みで。

 

プログレスバーの詳細のパーセントから0~1の値を入れることでゲージをコントロールできます。BarFillTypeなどから方向も変更できます。

 

このままだと味気ないので独自の素材を入れてみましょう。

それっぽい素材を気合で書きました。
(そのまま使うときは PowerImage: Created by Namiton をどこかに表記してね)

画像のように設定すると綺麗に使えます。

 

設定ができたらパーセントを0.0にしておきましょう。

 

③関数の追加

WB_PowerGageのグラフから関数UpdatePowerGageを作ります。

 

画像のように入力された値で上書きするようにします。

 

④キャラクター側の実装

このUIを表示したいキャラクターBP、今回はBP_ThirdPersonCharacterを開きUIを表示する処理を書きます。

 

Widgetを構築して

 

変数化

 

画面に表示させて完了です。

 

一度実行して画面に表示されることを確認しましょう。

 

⑤ゲージ処理の実装

BP_ThirdPersonCharacterにカスタムイベントStartPowerGageStopPowerGageを作成します。

 

タイムラインを追加します。

 

以下のように接続します。


タイムラインのノードを開きます。

画像のように長さを1、ループ設定を行います。

Percentというフロートトラックを追加し、0->1->0のカーブを作ります。

 

コンパイル後イベントグラフに戻ります。

値をキャッシュするための変数CurrentPercentを作成しWB_PowerGageで作成した関数UpdatePowerGageを呼びます。

 

⑦完成

最後に入力イベントなどと接続して完成です。

出力されたCurrentPercentでモノを吹き飛ばしたりなどいろいろ使いましょう。



⑧使い方の例

ゲージの速度を調整したい

SetPlayRateでタイムラインの時間を動的に変更できます。

 

カーブの形状を変更するのもおすすめです。

 

結果の値をいい感じに使いたい

MapRangeClampedを利用すれば0-1の値を任意の範囲に変更できます。

が画像の場合0の時は100、0.5で300が出力されます。

 

最後に

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

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

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

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

投げ銭を投げる