『Turn-Based jRPG Template』の使い方 #5 セーブとレベル遷移

Fabで販売されているコマンドRPGを制作するためのプロジェクト『Turn-Based jRPG Template』の第5回。

#5 セーブとレベル遷移

セーブシステムは、テンプレートで用意されているものがそのまま使えます。
レベル遷移にもテンプレートに便利なノードが用意されています。

セーブシステム

BP_SavePoint

セーブシステムはテンプレートに用意されているBP_SavePointを使います。
(場所: コンテンツ > TurnBasedJRPGTemplate > Blueprints > Interactables > BP_SavePoint)

これをレベルに配置するだけです。
ロードはメニュー画面にLOADという項目があります。

「SAVE」の日本語化
BP_SavePointのコンポーネントのInteractionActorを選択。
詳細の チャイルドアクタコンポーネント > Child Actor Template > デフォルト のInteraction Textを「セーブ」に書き換える。

BP_SavePointBase

セーブ完了後の「Game saved!」や、セーブ上書き時の「Do you want to overwrite an existing save game?」を日本語化するには、BP_SavePointBaseのイベントグラフを編集します。

これらは***** ウィジェットを作成のTitleやDialogue Testに記載されています。

BP_SaveUI

セーブ画面の日本語化やデザイン変更はBP_SaveUIで。
(場所: コンテンツ > TurnBasedJRPGTemplate > Blueprints > UI MainMenu > BP_SaveUI)

レベル遷移

キャラクターを別のLevelに移動させます。
遷移先には複数のPlayerStartを置き、それらにTagを付けて指定できるようにします。
遷移先のLevel Nameに{LevelNeme}#{PlayerStartTag}と入力すればPlayerStartの指定が可能です。

BP_LevelTransitionの新規作成

ブループリント クラス > アクタ
名前: BP_LevelTransition
・新規作成してください。

最低限必要なコンポーネントはSphere Collisionです。名前はSphere。
これにプレイヤーキャラクターが接触した時に別のLevelに移動させます。

目印が必要なら、コンポーネントにスタティックメッシュなどを追加してください。

ノード編集 On Component Begin Overlap (Sphere)

変数
Level NameはChange Mapから「変数へ昇格」させます。
詳細の「インスタンス編集可能」にチェックを入れておきましょう。

テストプレイ
このテンプレートのデフォルトLevelであるGameplayを開きます。
既に配置してあるPlayerStartを複製し、Bossの前に配置。
そのPlayerStartを選択し、詳細のPlayer Start TagにBossと入力。

別のLevelを開く。
BP_LevelTransitionをLevelに配置。
BP_LevelTransitionを選択し、詳細のLevel Nameに「Gameplay#Boss」と入力。
つまり{LevelNeme}#{PlayerStartTag}でレベルとプレイヤースタートを指定できるわけです。

テストプレイしてBP_LevelTransitionに触れると、GameplayのBossの前に移動します。

このテンプレートは、レベル遷移した時にレベルや所持品も引き継げます。
さらに、開けた宝箱もそのままです。

コメント

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