概要
Unity PlayMaker用カスタムアクションの紹介です。
LvExpManager は、ゲームの「成長エンジン」となる心臓部です。
🧩 1. 変数の準備(FSMでの設定)
まず、レベル管理を担当するゲームオブジェクト(GameManager など)に FSM を作成し、以下の変数を用意してください。
これらは複数のステートで使い回すため、Variables タブで作成します。
| 変数名 | 型 | 初期値(推奨) | 説明 |
| currentExp | Float | 0 | 現在の経験値バーの量。 |
| targetExp | Float | 100 | 次のレベルに必要な量。 0にしないこと! |
| levelUpPoints | Int | 0 | プレイヤーが使える未消費の強化ポイント。 |
| expGainRate | Float | 1.0 | 経験値倍率。バフアイテムでここを増やします。 0にしないこと! |
| growthRate | Float | 1.2 | レベルアップごとになぜ必要量が何倍になるか。 0にしないこと! |
| gainedExp | Float | 0 | 取得した経験値などを一時的に入れる用。 |
🔁 2. FSMのステート構成例
ステート1:Wait For Result(結果待ち)
Gained Expの値を取得したら ステート2 へ。
ステート2:Calc Experience(経験値計算)
ここで LvExpManager を使います。
- Gained Exp: 取得したGained Expの値を代入。
- Current Exp / Target Exp / Level Up Points: 上で作った変数をそれぞれ割り当て。
- Level Up Event: 新規イベント LEVEL UP を作成して指定。
- Finish Event: 計算が終わったら遷移するイベント(例: FINISHED)。
ステート3:Level Up Menu(メニュー表示)
LEVEL UP イベントを受け取った時に遷移する場所です。
- 処理: levelUpPoints が 1 以上の間、スキル選択 UI を表示します。
- 1つスキルを選んだら levelUpPoints を Int Add (-1) して、まだポイントがあるかチェック(Int Compare)。
- ポイントが 0 になる。もしくはキャンセルを押してレベルアップメニューを閉じます。
ダウンロード
Zipファイルに入っているスクリプトをPlayMakerのActionフォルダー内に適当なフォルダーを作って入れてください。
このスクリプトで何か問題があっても責任は取れませんので、ご理解の上で使用願います。
このアクションが気に入ったら、何か私の作ったゲームを買っていただけると助かります!


コメント