Unity C#

Mathf.Clamp в Unity C# — ограничение значения в диапазоне

Метод Mathf.Clamp ограничивает значение переменной заданным диапазоном. Он выручает, когда нужно не дать значению выйти за пределы — например, скорости игрока, позиции камеры или угла поворота.

Особенности

  • Ограничение значений: принимает три аргумента — значение, минимум и максимум. Если значение вышло за границы, оно прижимается к ближайшей.
  • Универсальность: работает с числами с плавающей точкой (float) и целыми (int).
  • Простота: легко встраивается в любую логику, где нужно ограничить данные.

Пример кода

Скорость игрока меняется стрелками, но Mathf.Clamp держит её в пределах от minSpeed до maxSpeed:

using UnityEngine;

public class Player : MonoBehaviour
{
    private float speed = 5.0f;
    private float minSpeed = 1.0f;
    private float maxSpeed = 10.0f;

    void Update()
    {
        // Пример изменения скорости игрока
        if (Input.GetKey(KeyCode.UpArrow))
        {
            speed += 1.0f * Time.deltaTime;
        }
        if (Input.GetKey(KeyCode.DownArrow))
        {
            speed -= 1.0f * Time.deltaTime;
        }

        // Ограничиваем скорость с помощью Mathf.Clamp
        speed = Mathf.Clamp(speed, minSpeed, maxSpeed);

        Debug.Log("Текущая скорость: " + speed);
    }
}