今日はUnityの小ネタ枠です。
UnityのMathf関数を使って値を指定の範囲に制限する方法についてです。
UnityEngine.Mathf
UnityEngine.Mathfは一般的な数学関数を扱うためのクラスです。
docs.unity3d.com
Clamp関数を利用して値を指定の範囲に制限することができます。
最大値と最小値を指定できるClamp関数と、0から1の範囲に制限するClamp01関数があります。
docs.unity3d.com
docs.unity3d.com
サンプルスクリプト
Clamp関数の動作を確認する以下のサンプルスクリプトを作成しました。
・ClampTest.cs
using UnityEngine; public class ClampTest : MonoBehaviour { public float clampValue = 30.0f; public float min = 0.0f; public float max = 10.0f; [ContextMenu("ClampTestMethod")] public void ClampTestMethod() { // Mathf.Clampメソッドは第一引数の値を第二引数と第三引数の範囲内に収める Debug.Log(UnityEngine.Mathf.Clamp(clampValue, min, max)); } [ContextMenu("Clamp01TestMethod")] public void Clamp01TestMethod() { // Mathf.Clamp01メソッドは第一引数の値を0.0fから1.0fの範囲内に収める Debug.Log(UnityEngine.Mathf.Clamp01(clampValue)); } }
ClampTestMethodを実行すると、ClampValue変数に設定した値をMin~Maxの範囲に制限した値を返します。

Clamp01TestMethodを実行すると、ClampValue変数に設定した値を0~1の範囲に制限した値を返します。

Tips
値を指定の範囲内でループさせたい場合はRepeat関数を利用してください。
bluebirdofoz.hatenablog.com