MRが楽しい

MRやVRについて学習したことを書き残す

UnityのMathf関数を使って値を指定の範囲に制限する

今日は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