ゲーム開発を試してみようと思い立ち、Unreal Engine 5をインストールして開発する過程で調べてみた部分を備忘録的に投稿します。今回はゲームオーバー画面を表示してゲームをリスタートさせる方法です。
ゲームには必要なコンテンツ
先回はゲームの開始時にタイトル画面を設定する方法を書いてみましたが、今回もゲームを製作する上で必要になってくる[ゲームオーバー]画面です。
サンプルなのでサウンドもアニメーションもありませんが、最低限ゲームが終了してしまった際に[ゲームオーバー]画面をが表示してリスタートする手順を紹介していきます。
具体的には次の手順で行います。
1.[コンテンツドロワー]画面の空いている場所でマウスの右クリックして表示されたポップアップメニューの[ユーザーインターフェイス|ウィジェットブループリント]を選択します。
2.[新しいウィジェットブループリントの親クラスを選択]画面で[User Widget]を選択します。
3.追加された[ウィジェットブループリント]の名前を “WB_GameOver” に変更します。
4. [WB_GameOver]をダブルクリックして開き、タイトル画面と同様に[パネル]や[Button]、[Text]などを配置します。
5.[アピアランス|Color and Opacity]で画面の色などを変更しておきます。
6. ゲームの再スタートをするための[リスタート]ボタンの文字も変更します。
ウィジェット画面のデザイン方法については、別記事をご覧ください。
ゲーム終了時に画面を表示するイベント追加
本来であればゲームを終了するイベントに追加していきますが、サンプルなのでキーボードのキー入力で[ゲームオーバー]画面を表示するためのイベントを追加します。
1.[BP_ThirdPersonCharacter]ブループリントクラスをダブルクリックして開きます。
2. 表示された[イベントグラフ]の空いている場所でマウスを右クリックします。
3. 表示された[すべてのノード]画面で “Keyboard Event E” を検索して追加します。
4. 追加された[E]ノードの実行ピンを伸ばして表示された[実行可能なアクション]画面で “Create Widget” を検索して追加します。
5. 表示された[Construct NONE]ノードの[Class]の一覧から[WB_GameOver]を検索して追加します。
6.[Create WB Title Widget]ノードの実行ピンを伸ばして表示された[実行可能なアクション]画面で “Add to Viewport” を検索して追加します。
7. 追加された[Add to Viewport]ノードの実行ピンを伸ばして[Set Show Mouse Cursor]ノードと[Get Player Controller]ノードを追加して、それぞれのピンを接続します。
8.[Map]のビューポートに切り替えて実行します。
8. 実行中の画面でキーボードの[E]キーを押すと[ゲームオーバー]画面が表示されます。
[リスタート]ボタンとマウスカーソルが表示されますが、クリックしても何も起こりません。
ゲームをリスタートするイベント追加
表示されたゲームオーバー画面の[リスタート]ボタンをクリックして再度ゲームを開始するイベントを追加します。
1.[WB_Title]のデザイナー画面で[Button]を選択した状態で[詳細]画面の[イベント|On Clicked]の[+]をクリックします。
2.[グラフ]画面追加された[On Clicked]ノードに[Remove from Parent]ノードを追加します。
3.[Remove from Parentd]ノードの実行ピンを伸ばして表示された[このブループリントで使えるノード]画面で “Get Current Level Name” を検索して追加します。
4. 追加された[Get Current Level Name]ノードの実行ピンを伸ばして表示された[このブループリントで使えるノード]画面で “Open Level (by Name)” を検索して追加して[Return Value]ピンと[Leven Name]ピンを接続します。
5.[Open Level (by Name)]ノードの実行ピンを伸ばして表示された[すべてのノード]画面で “Set Show Mouse Cursor” を検索して追加します。
6. 追加された[セット]ノードの[ターゲット]ピンを伸ばして[このブループリントで使えるノード]画面で “Get Player Controller” を検索して追加します。
7. ここまでの作業を保存して[コンパイル]します。
8. ゲーム画面でキーボードの[E]キーを押して表示されたゲームオーバー画面の[リスタート]ボタンをクリックします。
9. ゲームが開始されタイトル画面が表示されます。
まとめ
今回は、Unreal Engineでゲームの実行中にゲームオーバー画面を表示してゲームをリスタートする手順について書きました。
先回、紹介したタイトル画面やポーズ機能などと同じで[ゲームオーバー]画面もゲーム製作に必要なコンテンツの1つです。
Unreal Engineのゲーム開発でゲーム終了時に表示されるゲームオーバー画面を追加したい人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。