この記事では、割合から数値に変換する関数 と 数値から割合に変換する関数を紹介します。
スポンサーリンク
割合から数値に変換する
割合から数値に変換するには、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