Categories: Unity

【Unity】割合から数値に数値から割合に変換する

この記事では、割合から数値に変換する関数数値から割合に変換する関数を紹介します。

割合から数値に変換する

割合から数値に変換するには、Mathf.Lerp()関数を使います。

public static float Lerp(float a, float b, float t);

a から b の範囲を指定し、t に (0 ~ 1.0) の割合を指定します。そうすることで a から b の範囲内から指定した割合の数値を取得することができます。

var p = Mathf.Lerp(0, 5, 0.5f);
Debug.Log(p);  // 2.5

p = Mathf.Lerp(-10, 5, 0.1f);
Debug.Log(p);  // -8.5

p = Mathf.Lerp(-10, 100, 0.4f);
Debug.Log(p);  // 34

数値から割合に変換する

数値から割合に変換するには、Mathf.InverseLerp()関数を使います。

public static float InverseLerp(float a, float b, float value);

a から b の範囲を指定し、t にその範囲内の数値を指定します。そうすることで範囲における t の割合を取得することができます。

var p = Mathf.InverseLerp(0, 5, 2.5f);
Debug.Log(p);  // 0.5

p = Mathf.InverseLerp(-10, 5, -8.5f);
Debug.Log(p);  // 0.1

p = Mathf.InverseLerp(-10, 100, 34f);
Debug.Log(p);  // 0.4
ゆうまる

独学でプログラミングを勉強しているおじさん。いろんな言語を勉強したが浅く広くなためあまり仕事につながらない。また忘れっぽいため自分のブログを備忘録としても使っている。産まれてこのかたずっとネコを飼ってる生粋のネコ派。最近お腹が出てきて筋トレに奮闘中!

Recent Posts

【Dart】コンストラクタのデフォルト引数について

Dartのコンストラクタのデフォルト引数…

2週間 ago

【Unity】有料アセットを無料で手に入れる方法

この記事では、Unityの有料アセットを…

4か月 ago

【Python】任意の秒数だけ処理を一時停止する方法【sleep()関数】

この記事では、Pythonで任意の秒数だ…

1年 ago

【Python】Wordの文書の新規作成と読み書き

この記事では、Pythonを使ってWor…

1年 ago

【Python】メタクラスって結局なんなの?

この記事では、Pythonのメタクラスに…

1年 ago