ノンフィールドRPGの作り方講座13 ゲームオーバー時のリザルトシーンと経験値システムの実装 | Unity入門の森 ゲームの作り方

ノンフィールドRPGの作り方講座13 ゲームオーバー時のリザルトシーンと経験値システムの実装

Unity 初心者向けノンフィールドRPGの作り方 (スマホ化対応)

現場レベルのゲーム制作が、すべてここで学べます。

【永久会員チケット】

永久会員チケット|Unity入門の森

全講座を見放題で学ぶ

ソースコード・素材・プロジェクトすべて公開。
Unityの基礎から応用まで、一生使えるスキルを体系的に習得。

この記事はノンフィールドRPGの作り方講座の第13回です。

前回は攻撃時や被ダメージ時の演出、バトル勝利・敗北時の処理、さらに勝利時のレベルアップ処理を実装しました。

前回の記事:

Unity ノンフィールドRPGの作り方講座12 ターン制バトルでの演出強化・勝敗判定・レベルアップ処理の実装
この記事はUnityとC#でノンフィールドRPGを作る講座の第12回です。前回はバトルシーンでの主人公ターンと敵キャラターンの進行およびバトル中のオーディオの準備を実装しました。前回の記事:第12回では攻撃時や被ダメ時(被ダメは被ダメージの...

第13回ではゲームオーバー時のリザルトシーンの作成を行います。

【ゲームの作り方講座プレゼント中!】

リザルトシーンの背景とカメラの設定を行う

リザルトシーンを作成していきます。[Assets]→[Scenes]にある[Result]をダブルクリックしてリザルトシーンを開きます。

[Window]→[Rendering]→[Lighting]の順でクリックして、Lightingを開きます。

上にある[Environment]をクリックしてEnvironmentを表示します。

Environmentの一番上にある[Skybox Material]の右にあるオブジェクトピッカーをクリックして、[None]を選択します。

カメラの設定を行う

背景を黒くするためにカメラの設定を変更します。

Hierarchyビューにある[Main Camera]をクリックしてInspectorビューを表示します。

Transformを上記のとおり設定します。Cameraコンポーネントの[Clear Flags]を「Solid Color」に変更し、Backgroundの色を黒に変更します。

Gameビューを開いて背景が黒になっていることを確認します。

リザルトシーンで流す音楽を準備しよう

リザルトシーンのBGM準備をします。

タイトルシーンでのBGM処理と同じようにまずはAudioClipをアタッチするための変数を宣言します。そしてダンジョンシーンのBGMを再生するメソッドを追加していきます。

SoundManager.cs

AudioClipをアタッチする

SoundManagerオブジェクトにAudioClipをアタッチするため、一度[Assets]→[Scenes]にある[Title]をダブルクリックしてタイトルシーンに戻ります。

必ず保存してから別のシーンを開くようにしましょう。

ではタイトルシーンのHierarchyビューにあるSoundManagerオブジェクトをクリックしてInspectorビューを表示します。

AssetStoreからインポートしたフォルダ[LUShvalleySound]→[LUShvalleySound_FantasyBGM_FreePackVol.01]→[LVSD-0006_11_StellarStage_loop]をドラッグアンドドロップします。

(↑この画面操作では最初にインスペクターのカギマークをクリックして画面固定を行ってからBGMデータをアタッチしています。終わったらカギマークを外しておきましょう)

それではTitleシーンを保存してから再びResultシーンに戻りましょう。

リザルトシーンのUIを作成 GAMEOVERの文字と取得ポイントの表示

ここからはゲームオーバー画面に必要なUIを構築していきましょう。

「GAME OVER」の文字の表示と、取得ポイントの表示をするUIを作成します。

取得ポイントは次の周回前にプレイヤーキャラクターの強化に使います。いわゆる経験値の役割ですね。

まずHierarchyビューを右クリックし、[UI]→[Canvas]をクリックします。

Canvasオブジェクトを選択してInspectorビューを開きます。

他のシーンと同じように、Canvas Scalerコンポーネントの[UI Scale Mode]を[Scale With Screen Size]に変更します。

[Reference Resolution]のXを1080Yを1920に変更します。

[Screen Match Mode]を[Expand]に変更します。

GAME OVERのテキスト作成

HierarchyビューにあるCanvasオブジェクトを右クリックし、[UI]→[Text – TextMeshPro]を選んでテキストオブジェクトを追加します。名前はGameOverにします。

作成したGameOverオブジェクトのInspectorビューを開き、下の画像のとおり設定します。

以下のようなゲームオーバー画面が表示されていればOKです。

取得ポイントのテキスト作成

HierarchyビューにあるCanvasオブジェクトを右クリックし、[UI]→[Text – TextMeshPro]を選んでテキストオブジェクトを追加します。名前はPointCaptionにします。

さらにもう一回、[UI]→[Text – TextMeshPro]を選んでテキストオブジェクトを追加します。名前はPointValueにします。

作成したPointCaptionオブジェクトとPointValueオブジェクトのInspectorビューを開き、下の画像のとおり設定します。

設定ができていれば以下のような画面になります。

タッチ用のボタンを作成する

リザルト画面をタッチした際にタイトルシーンに遷移するボタンを作っていきます。

まずはHierarchyビューにあるCanvasオブジェクトを右クリックし、[UI]→[Panel]をクリックします。

PanelオブジェクトはHierarchyビューで必ずGameOver、PointCaption、PointValueの下に置いてください。Unityでは下側にあるオブジェクトほど手前に表示されるのでタップパネルは手前、つまり他のオブジェクトの下側に置きます。

次にPanelオブジェクトを選択してInspectorビューを開きます。

ImageコンポーネントのColorをクリックします。

A値(アルファ値)を0にして透明にします。

続いて、Button機能をPanelオブジェクトに追加します。

Inspectorビューの下にある[Add Component]をクリックして、検索バーに「Button」と入力します。

一覧に[Button]が表示されるのでクリックして、[Button]コンポーネントを追加します。

タッチして動作させるためにはButtonコンポーネントのOnClickイベントに処理を登録する必要がありますが、スクリプトを作成してから行います。

リザルトシーンの進行に必要なオブジェクトとC#スクリプトを準備する

Hierarchyビューを右クリックするか、Hierarchyビューの+ボタンをクリックし、[Create Empty]をクリックして空のオブジェクトを作成しましょう。オブジェクトの名前はDirectorとします。

次に[Assets/Scripts]フォルダを選択して右クリックし、[Create]→[Scripting]→[MonoBehaviour Script]をクリックします。

フォルダ内にスクリプトファイルが作成されるので名前を「ResultDirector」とします。

次にHierarchyビューにあるDirectorオブジェクトを選択してInspectorビューを表示します。

一番下にある[Add Component]をクリックし、検索バーにResultと入力します。表示される一覧の中に「Result Director」が表示されるのでクリックしてアタッチします(スクリプトファイルを直接オブジェクトにドラッグアンドドロップしてアタッチすることもできます)。

リザルトシーンを完成させる BGM再生・経験値ポイント取得・タイトル遷移処理を実装

リザルトシーンでBGMを再生、ポイントの取得、タッチしたらタイトル画面に遷移する処理を実装します。

続きを読む
このコンテンツはパスワードで保護されています。 コンテンツを読みたい方はUnity入門の森ショップ(https://unityforest.shop/)で講座閲覧権を取得してね。

まとめ

今回はリザルトシーンを完成させました。Unityで実行してみましょう。

今回はゲームオーバー時のリザルトシーンを作成しました。敗北処理ができあがりひとまず全てのシーンがつながりました。

次回がいよいよ最後です。タイトルシーンで次の周回をプレイする前にキャラクターの強化を行えるようにします。

冒険で取得した経験値を使ってのキャラ強化はハクスラゲームやノンフィールドRPGの醍醐味の一つです。

そしてセーブ・ロードのシステムを構築しゲームを完成させます。

Unity ノンフィールドRPGの作り方講座14 オートセーブシステム・キャラ強化画面の開発とタイトル画面の仕上げ
この記事はUnityとC#でノンフィールドRPGを作る講座の第14回です。前回はゲームオーバー時のリザルトシーンを作成しました。前回の記事:第14回ではプレイデータのオートセーブシステムやロード処理を作ります。また、キャラクター強化画面の作...

Unity ノンフィールドRPGの作り方講座に戻る>>

 

 

【ゲームの作り方講座もプレゼント中!】

現場レベルのゲーム制作が、すべてここで学べます。

【永久会員チケット】

永久会員チケット|Unity入門の森

全講座を見放題で学ぶ

ソースコード・素材・プロジェクトすべて公開。
Unityの基礎から応用まで、一生使えるスキルを体系的に習得。

コメント

タイトルとURLをコピーしました