TopDownEngineで、敵を倒したらレベルアップする機能が欲しかったので実装しました。その備忘録です。
目標:敵を倒すとキャラクターがレベルアップする機能を実装する
TopDown Engine | Systems | Unity Asset Store
Use TopDown Engine from More Mountains to elevate your next project. Find this & more Systems and templates on the Unity Asset Store.
実装方法
使うもの:TopDownEngineの拡張機能「ProgressionSystem」
TopDownEngineには、コミュニティによって作成された様々な拡張機能をまとめた「TopDownEngine Extensions」というリポジトリがあります。この中に、今回使うレベルアップ機能「ProgressionSystem」が含まれています。
TopDownEngine Extensionsリポジトリ: https://github.com/reunono/TopDownEngineExtensions
ステップ1:ProgressionSystemをプロジェクトに追加する
- 上記のGitHubリポジトリから「ProgressionSystem」をダウンロードします。
- ダウンロードした「ProgressionSystem」フォルダを、あなたのTopDownEngineプロジェクトのアセットフォルダ内にコピー&ペーストします。
ステップ2:サンプルシーンで動作確認
「ProgressionSystem」フォルダの中には、動作確認用のサンプルシーンが含まれています。このシーンを開いて、どのように動作するのか、どのように設定されているのかを確認してみましょう。このステップは必須ではありませんが、理解を深めるためにオススメです。
ステップ3:敵にレベルアップトリガーを設定する
- レベルアップのトリガーとなる敵キャラクターを選択します。
- 「Add Component」ボタンから「On Death Event」コンポーネントを追加します。このコンポーネントは、敵が倒された時に特定のイベントを発生させる役割を持ちます。
ステップ4:シーン参照用のオブジェクトを配置する
- 「ProgressionSystem」のデモシーンにある「ScriptableObjectSceneReference」を、あなたのゲームシーンにコピぺで配置します。これは、シーン内のオブジェクト同士を連携させるための重要な役割を担います。
ステップ5:レベルアップゲージ(ProgressionBar)を表示する
- 「Canvas」オブジェクトを選択します。
- 「ProgressionSystem」のデモシーンの中にある「ProgressionBar」を、Canvasの子オブジェクトとしてドラッグ&ドロップします。
- これにより、画面上にレベルアップゲージが表示されるようになります。必要に応じて、ゲージの位置やサイズを調整してください。
ステップ6:プレイヤーにレベルアップ機能とLevelUpFeedbacksを設定する
- プレイヤーキャラクターを選択します。
- 「ProgressionSystem」のデモシーンの中で使われているキャラクターにあるLevelUpFeedbacksのオブジェクトをコピペして、自分のPlayerにつける。
- 「Add Component」ボタンから、以下の2つのコンポーネントを追加します。
- 「Max Health Link」: プレイヤーの最大HPをレベルアップシステムと連携させます。 (必要に応じて他のパラメータと連携させることも可能です)
- 「On Int Variable Change Event」: 特定の整数型変数(例:経験値)が変化した際にイベントを発生させます。
これで完成です!
以上の手順で、敵を倒すとレベルアップする機能が実装できました。
あとはお好みで自分でカスタマイズするといいでしょう。