1

【UE】倒した敵をカウント表示させる方法

今回の内容は、Unreal Engineを使った**「スコア加算の仕組み」**の実装です。

具体的には、敵が撃たれて倒れた時にスコアが加算され、

倒した数を画面上にカウント表示させる流れを紹介します。

実装の大まかな流れは以下の通りです。

  • スコアを加算するイベント「AddScore」の作成
  • BP_FPSShooter(操作キャラ) のブループリント内で「AddScoreイベント」を呼び出す
  • 加算されたスコアを画面上に表示するUI(スコアボード)を作成

これにより、敵を倒すたびにスコアがカウントアップされ、ゲーム画面に表示される仕組みが完成します。

スコア加算処理の実装手順

カスタムイベントの作成

①プレイヤーのブループリント(BP_FPSShooter)を開き、イベントグラフを表示します。

②イベントグラフ上を右クリックし、Custom Event を追加します。

③作成したCustom Eventを「Add Score」にリネームします。

ここから、スコアを加算していくためのブループリントを作成していきます。

image
image

スコア変数の設定

①変数追加ボタン(+) をクリックし、新しい変数を作成します。

 変数名:Score

 変数の型:Integer(整数型)

image

②作成した Score 変数をイベントグラフにドラッグ&ドロップし、「Get Score」を選択します。

image

③追加されたScoreノードからワイヤーを伸ばし、検索欄で「++」と入力して Increment Int を追加します。

 これは「Scoreに1を加算する処理」です。

image

④「Add Score」と「Increment Int」の実行ピン同士を接続します。

image

⑤Increment Intから実行ピンを伸ばし、Print Stringノードを追加します。

image

⑥Increment Intからワイヤーを伸ばし、Print Stringの「In String」に接続します。

image

ここまでで、「Add Scoreイベント」によるスコア加算処理は完成です。

敵撃破時にスコアを加算する処理

次に、敵を倒したタイミングでスコアを加算させます。

①BP_Enemy(敵キャラクターのブループリント) を開き、イベントグラフを表示します。

②Destroy Actor 付近で右クリックし、「Get Player Character」を追加します。

image

③「Get Player Character」のReturn Valueピンからワイヤーを伸ばし、Cast To BP_FPSShooter(自分の操作キャラ) を追加します。

 これでプレイヤー情報を取得できます。

image

④「Cast To BP_FPSShooter」の As BP_FPSShooter ピンから「Add Score」を呼び出し、ノードを接続します。

image

この設定により、BP_Enemyが破壊された際にスコアが加算されます。実行後、画面左上に数値が表示されれば成功です。

image

スコアボードの作成(UIの表示)

敵を倒したスコアを画面に表示するため、UIとしてスコアボードを作成します。

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

①コンテンツブラウザで UIフォルダ を作成します。

②フォルダ上で右クリック ⇒ ユーザーインターフェース ⇒ ウィジェットブループリント を選択します。

image

③親クラス選択画面で User Widget(ユーザーウィジェット) を選択し、作成されたブループリントを「WBP_Score」にリネームします。

image

デザイン設定

①WBP_Score を開き、左上の「デザイナー」タブに切り替えます。

②Canvas Panel を検索し、編集画面にドラッグ&ドロップします。

image

③続いて Image を検索し、画面上にドラッグ&ドロップします。

 白い長方形のオブジェクトが表示されれば準備完了です。この範囲がゲーム画面上に表示される領域となります。

image

配置とアンカー設定

白いオブジェクトの位置とサイズを調整します。

①右上のアンカーボタンをクリックし、位置を右上に設定します。

image

③スコアボックスを右上に配置できれば完成です。

image

③位置設定は以下の通りでゲーム画面の右上にスコアが表示されるように設定します。

image

ブループリント設定

ブループリント実装で、ゲーム画面にUIを実装させていきます。

①WBP_ScoreのText Boxを選択後、コンテンツテキスト横のバインディング作成をクリック

image

②Get Textとリネームし、クリックして編集画面に入る

③ノードを以下の図のように設定してコンパイルを押します。

image

実装後の様子がこちらです。

右上に倒した敵キャラのカウント数が表示されるようになりました。

image

画面左上に先ほど設定した数値設定を消していきます。

①BP_FPSShooterをダブルクリックし、ブループリント設定を表示

②AddScoreノードのPrint String⇒Print to Screenのチェックを外す

image

まとめ

今回の手順では、

  • Unreal Engineのブループリントでスコア加算処理を作成
  • 敵撃破時にスコアが増えるように実装
  • UI(スコアボード)を作成し、ゲーム画面にスコアを表示

といった流れを解説しました。

最後にUIのデザインを少し改良しまして、

以下のような画面デザインになりました。

image

Unreal Engineを使ったゲーム開発では、このように「イベント」「変数」「UI」を組み合わせることで、

スコア表示やゲーム進行に必要な仕組みを作り上げることができます。これにより、プレイヤーに達成感を与えるゲーム演出が可能になります。

コメントする

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