概要
経験値テーブルとは、RPGにおけるレベル毎の必要経験値のことです。
レベルが上がるほど必要経験値が増えていくことが多いですよね。
指数関数なんかでもいいんですが、緩急をつけたいと思いませんか?
まあ、経験値テーブルというのはあくまで一例で、今回は自由自在な y=f(x) のご紹介です。
結論
Animation Curveがとても便利!
名前のわりにアニメーションと関係ない箇所でも活用できます。
サンプル
実装例
public class Player : MonoBehaviour
{
public AnimationCurve needExp;
public int level;
}
インスペクタ上の表示は以下のようになります。
NeedExpのグレーの部分をクリックして設定してみましょう。
今回は100レベルになるまで100万の経験値が必要な設定にしてみました。
検証
それでは下記のコードで検証してみましょう。
検証コード
void Update()
{
level++;
Debug.Log($"level:{level} next:{(int)needExp.Evaluate(level)}");
}
レベルが上昇するにつれて必要な経験値が上がっておりグラフで設定した通りですね。
アイディア次第ではいろいろな活用法がありそうです。