timer

【UE】タイマーUIの作り方

みなさんこんにちは、Nakaryoです。

今回は Unreal Engineでゲーム画面に制限時間(タイマー)を表示・実装する方法 についてまとめました。

初心者の方でも分かりやすいように手順を整理しましたので、ぜひ参考にしてください。

Step1:ウィジェットブループリントの作成

まずは、ゲーム内に表示させるUIを作成していきます。

①コンテンツフォルダ → UIフォルダ上で右クリックし、

 ウィジェットブループリント → ユーザーウィジェット を選択します。

image

②作成したウィジェットの名前を WBP_Time に変更します。

image

Step2:制限時間UIのデザイン設定

①デザイナー画面に切り替え、以下の順番でドラッグ&ドロップして配置します。

・キャンバスパネル

・Horizontal Box

・Text Block

・Text Block2

image

②Horizontal Boxの位置設定を以下の通りに行います。

・アンカー:中央位置

image

・位置設定

image

以下の通りになっていれば成功です。

今回は、分かりやすいように画面中央に配置しました。

image

③Text Block1の設定

階層上のText Block①を選択し、詳細設定を以下の通りに行います。

Text名:Time Limit

Font Size:150

image

Horizontal Boxの部分にドラック&ドロップし階層を親子関係にします。

image

④Text Block2の編集作業

Text名:00

Font Size:100

image

位置設定後、Block1と同様に、階層上でHorizontal Boxにドラック&ドロップをし、

親子関係に設定します。

親子関係後、TextBlock2のpaddingを30に設定します。

以下の通りになっていれば成功です。

image

Step2:変数の設定

続いてブループリント実装に必要な変数の設定を行います。

WBP_Timeのグラフボタンをクリックし、グラフ編集画面を開きます。

マイブループリントの変数⊕をクリックし、Float型の変数を2つ用意します。
・変数名:Limit TimesDelta Times

②コンパイル後、Limit Times のデフォルト値を 60秒 に設定します。

image

Step3:イベントグラフでのノード接続

①作成した Limit TimesDelta Times の変数を イベントグラフにドラッグ&ドロップし、Set を設定します。

 Event TickのIn Delta TimeとセットのDelta Timesをノード接続します。

image

Limit TimesDelta Times の変数を Get で指定し、以下の通りノード接続を行いコンパイルします。

 ※”-ノードは[- or subtract]の検索でヒットします。

image

⚠ 注意点:
この際に 減算を行うため、Limit Timesを上部に配置してください。
逆にすると「経過時間に対して制限時間が減算される」という誤った計算になってしまいます。

Step4:UIタイマーの実装

先ほどのブループリントで実装した制限時間機能をゲーム画面上で表示できるように設定していきます。

①WBP_Timeのデザイナーボタンをクリックします。

②テキストbox”00″を選択した状態で、コンテンツTextの右側のボタンをクリックし、

 バインディング作成を選択します。

image

③新たなグラフが作成がされました。

 Return NodeのReturn Valueからワイヤーを展開し、To Textを検索しノード接続

 Limit Time変数をget設定し、To Textとノード接続し、コンパイルします。

image

Step5:ゲーム画面上にUI反映・動作確認

最後にUIタイマーをゲーム画面に反映させていきます。

①レベルブループリントを開きます。

image

②ノードを以下の流れでつなげます。

Event BeginPlay

Create Widget(Class → 先ほど作成済みの WBP_Time を指定)

Add to Viewport(実行ピン同士とReturn ValueとTargetをノード接続する)

image

コンパイルします。

③シミュレーションを実行し、画面上に制限時間(タイマー)が正しく表示されていれば成功です。

image

まとめ

Unreal Engineでのゲーム開発では、制限時間やタイマーをUIで表示させることでゲーム性を高めることができます。

今回ご紹介した手順では、ウィジェットブループリントの作成からイベントグラフでのノード接続、

さらにUIデザインの設定まで一連の流れを解説しました。

ぜひご自身のゲームプロジェクトに取り入れて、プレイヤーに緊張感や戦略性を加えてみてください。

コメントする

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