【Unity】3DダンジョンRPGの作り方 第19回|メニュー画面実装・ダンジョンRPGシステム完成 | Unity入門の森 ゲームの作り方

【Unity】3DダンジョンRPGの作り方 第19回|メニュー画面実装・ダンジョンRPGシステム完成

Unity 3DダンジョンRPGの作り方 ~世界樹・ウィザードリィ風ゲームを作ろう~

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

【永久会員チケット】

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

全講座を見放題で学ぶ

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

この講座は3Dダンジョン探索型RPGの作り方について解説しています。今回はその第19回目になります。

前回は戦闘システムの仕上げとセーブ&ロード機能の実装を行いました。

前回の記事:

【Unity】3DダンジョンRPGの作り方 第18回|戦闘システム完成・セーブ&ロード実装
この講座は世界樹の迷宮やウィザードリィのような3DダンジョンRPGの作り方について説明しています。今回はその第18回目になります。前回はダンジョン内のイベントをEntityという形で実装し、ダンジョン探索のシステムを一通り用意しました。前回...

今回は戦闘していない移動画面でのスキル・アイテム使用が可能になる「ダンジョン探索中のメニュー画面」を完成させます。

これで街・戦闘・ダンジョン内のすべての機能が結合し、ダンジョンRPGシステムが完成します。

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

ダンジョン探索中のメニュー画面を作成

スキルやアイテムのデータを作成した際に「ダンジョン探索中でも使用できる」設定項目があったかと思います。

今回はダンジョンシーンにおいてメニュー画面を用意し、探索中に好きなタイミングで回復スキルやアイテムの使用を行えるようにしていきます。

メニュー画面UI作成

DungeonシーンのCanvas以下に空オブジェクトのMenuWindowを作成します。Canvas GroupがアタッチされていればOKです。

施設UIやスキル一覧画面と同じような流れで、次に子オブジェクトにWindowを作成します。
表示内容が多いため大きめのスペースをとります。

以降、必要になるUIパーツは以下です。

閉じるボタン:CloseButton

BattleシーンのSkillTableUIArea以下にあるCloseButtonなどをコピーし、Rect Transformの調整をするだけでもOKです。

ウィンドウ名表示部背景画像:WindowLogoBack

ImageオブジェクトをWindowの子オブジェクトとして作成し、下図のような設定を行います。

カラーコードはCCFFCC。透明度Aは204にしています。

ウィンドウ名表示テキスト:WindowLogoText

TextMeshProをWindowLogoBackの子オブジェクトとして作成。

表示内容はスクリプトで決定するためSimpleTranslationTextは不要です。

テキストのカラーコードは4B151Aです。

表示モード切替ボタン:Button_ModeChange_Right/Button_ModeChange_Left

このメニュー画面では「アイテム使用」モードと「パーティーキャラのスキル使用」モードの2種類を実装します。それらのモードを切り替えるためのボタンを左右方向それぞれで作成します。

Windowの子オブジェクトとしてButtonを作成し、そのButtonの子オブジェクトとしてTextMeshProとImage画像を作成します。

↑のカラーコードは00801A。

↑AnchorをStretch-Stretchにして画像を変更してカラーコードを00801Aに設定しました。

左ボタンのButton_ModeChange_Leftも同様に作成します。

Button_ModeChange_RightをコピーしてButton_ModeChange_Leftとリネームし、TextMeshProのテキスト内容を→から←に変えればOKです。

スキル・アイテムボタン表示Scroll View:ColumnsScrollView

SkillButtonUIとItemButtonUIをContent内に並べて表示するScrollViewを作成します。

作成したらColumnsScrollViewとリネームし、Rect TransformとImageの設定を行います。

ColumnsScrollViewの子オブジェクトのScrollbar Horizontalは削除し、Scrollbar Verticalを以下のように設定します(これまでと流れは同じ)。

次に、スクロールバーがはみ出ているのでScrollbar Vertical > Sliding Areaの調整を行います。

そしてSlidingArea > HandleのImage画像をScrollBarに変更。

今回は別々のScroll Viewにはせず、1つのオブジェクト内(Content内)でスキル一覧とアイテム一覧をそれぞれ切り替えて表示できる形式にします。

Content以下に2つの空オブジェクトを作り、BattleシーンにあるSkillsScrollViewとItemsScrollViewのそれぞれの中身を格納していく流れになります。
空オブジェクトにはVertical Layout Groupが必要です。

まずはViewPortのContentの調整を行います。

↑Vertical Layout GroupとContentSizeFilterを設定しました。

Contentの子としてSkillButtonUIsとItemButtonUIsという名前で二つの空オブジェクトを作成します。それぞれにVertical Layout Groupを設定します。

そしてBattleシーンにあるSkillsScrollView > Viewport > Contentの子オブジェクトにあるSkillButtonUIとItemsScrollView > Viewport > Contentの子オブジェクトにあるSkillButtonUIを全てコピーして移動させます。

これでスキル・アイテムボタン表示部分は出来上がりです。

選択アイテム/スキルの詳細表示UI

次は選択したスキル/アイテムの「アイコン画像」、「名前テキスト」、「説明文テキスト」をそれぞれ表示するUIを作成します。

アイコン画像:SelectDetailIcon

Windowの子オブジェクトとしてImageを作成し、SelectDetailIconとします。

アイコンの中身は後ほどスクリプトから表示させます。

名前テキスト:SelectDetailNameText

Windowの子オブジェクトとしてTextMeshProを作成し、SelectDetailNameTextとします。

スクリプトの中から後で表示文章を設定するのでSimpleTranslationText.csのアタッチは不要です。文字色のカラーコードは4B151Aにしています。

説明文テキスト:SelectDetailDescriptionText

名前テキストと同様の流れで作成します。

ここまでで説明欄UIの作成は完了です。

スキル/アイテム使用確定ボタン:Button_Decide

選択中のスキルまたはアイテムの使用を確定するボタンを作っていきます。TownButtonプレハブから変更を行って仕上げていきます。まずはプレハブをWindowの子オブジェクトとして設置し、Button_Decideとリネームします。

次にText(TMP)を編集します。スキル選択中かアイテム選択中かによってボタンの内容もスクリプトから変更するのでSimple Translation TextはRemoveしておきます。

選択強調用UI:SelectHilight

これまでと同様にSelectHilightも必要です。

BattleシーンなどのScrollView系オブジェクト > Viewport > Contentの子オブジェクトにあるSelectHilightをコピーしてSkillButtonUIsとItemButtonUIsの子オブジェクトとしてそれぞれ設置します。

なおAnchorが中央でない場合は中央にしておきましょう。

前衛・後衛ActorUI群

スキルやアイテムをアクターに対して使用する際、どのアクターを対象にするかを選ぶ必要があります。

そのためアクターの現在HP・TPを確認できつつクリックでアクターを選択できる必要があるため、その機能を既に持っているActorUIをBattleシーンからコピーしてきます。
少々大きいのでScaleを調整して配置すれば完了です。

メニュー画面を開くボタン:MenuButton

メニュー画面を開くためのボタンをCanvas以下の適当な位置に配置しておきます。Buttonを作成し、TextMeshProを削除。

↑Anchorをright-bottomにして位置やImage画像を変更して完了です。

メニュー画面処理スクリプトを実装する

各種スクリプトを編集してメニュー画面の処理やスキル&アイテム効果発動に対応できるようにしていきます。

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

まとめ

これでダンジョンRPGシステムが完成しました。

次回はゲームに華を添える演出要素であるBGM(音楽)・SE(効果音)・アニメーションの実装とスマホ操作対応をそれぞれ実装して3DダンジョンRPG講座の締めくくりとします。

次の記事:

Unity 3DダンジョンRPGの作り方20 BGMと効果音を設定/アニメーションなど演出面を強化/スマホ操作に対応させる
この講座は3Dダンジョン探索型RPGの作り方について解説しています。今回が最終回になります。前回はダンジョン内メニューの実装とスキル・アイテム使用処理を実現し、3DダンジョンRPGシステムを完成させました。前回の記事:今回はゲームに華を添え...

Unity 3DダンジョンRPGの作り方講座に戻る >>

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

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

【永久会員チケット】

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

全講座を見放題で学ぶ

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

コメント

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