今回の内容は、Unreal Engineを使った**「スコア加算の仕組み」**の実装です。
具体的には、敵が撃たれて倒れた時にスコアが加算され、
倒した数を画面上にカウント表示させる流れを紹介します。
実装の大まかな流れは以下の通りです。
- スコアを加算するイベント「AddScore」の作成
- BP_FPSShooter(操作キャラ) のブループリント内で「AddScoreイベント」を呼び出す
- 加算されたスコアを画面上に表示するUI(スコアボード)を作成
これにより、敵を倒すたびにスコアがカウントアップされ、ゲーム画面に表示される仕組みが完成します。
スコア加算処理の実装手順
カスタムイベントの作成
①プレイヤーのブループリント(BP_FPSShooter)を開き、イベントグラフを表示します。
②イベントグラフ上を右クリックし、Custom Event を追加します。
③作成したCustom Eventを「Add Score」にリネームします。
ここから、スコアを加算していくためのブループリントを作成していきます。


スコア変数の設定
①変数追加ボタン(+) をクリックし、新しい変数を作成します。
変数名:Score
変数の型:Integer(整数型)

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

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

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

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

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

ここまでで、「Add Scoreイベント」によるスコア加算処理は完成です。
敵撃破時にスコアを加算する処理
次に、敵を倒したタイミングでスコアを加算させます。
①BP_Enemy(敵キャラクターのブループリント) を開き、イベントグラフを表示します。
②Destroy Actor 付近で右クリックし、「Get Player Character」を追加します。

③「Get Player Character」のReturn Valueピンからワイヤーを伸ばし、Cast To BP_FPSShooter(自分の操作キャラ) を追加します。
これでプレイヤー情報を取得できます。

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

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

スコアボードの作成(UIの表示)
敵を倒したスコアを画面に表示するため、UIとしてスコアボードを作成します。
ウィジェットブループリント作成
①コンテンツブラウザで UIフォルダ を作成します。
②フォルダ上で右クリック ⇒ ユーザーインターフェース ⇒ ウィジェットブループリント を選択します。

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

デザイン設定
①WBP_Score を開き、左上の「デザイナー」タブに切り替えます。
②Canvas Panel を検索し、編集画面にドラッグ&ドロップします。

③続いて Image を検索し、画面上にドラッグ&ドロップします。
白い長方形のオブジェクトが表示されれば準備完了です。この範囲がゲーム画面上に表示される領域となります。

配置とアンカー設定
白いオブジェクトの位置とサイズを調整します。
①右上のアンカーボタンをクリックし、位置を右上に設定します。

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

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

ブループリント設定
ブループリント実装で、ゲーム画面にUIを実装させていきます。
①WBP_ScoreのText Boxを選択後、コンテンツテキスト横のバインディング作成をクリック

②Get Textとリネームし、クリックして編集画面に入る
③ノードを以下の図のように設定してコンパイルを押します。

実装後の様子がこちらです。
右上に倒した敵キャラのカウント数が表示されるようになりました。

画面左上に先ほど設定した数値設定を消していきます。
①BP_FPSShooterをダブルクリックし、ブループリント設定を表示
②AddScoreノードのPrint String⇒Print to Screenのチェックを外す

まとめ
今回の手順では、
- Unreal Engineのブループリントでスコア加算処理を作成
- 敵撃破時にスコアが増えるように実装
- UI(スコアボード)を作成し、ゲーム画面にスコアを表示
といった流れを解説しました。
最後にUIのデザインを少し改良しまして、
以下のような画面デザインになりました。

Unreal Engineを使ったゲーム開発では、このように「イベント」「変数」「UI」を組み合わせることで、
スコア表示やゲーム進行に必要な仕組みを作り上げることができます。これにより、プレイヤーに達成感を与えるゲーム演出が可能になります。