Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Объявление

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

Параметры

a Начало диапазона.
b Конец диапазона.
value Точка в диапазоне, который вы хотите рассчитать.

Возвращает

float Значение между нулем и единицей, представляющее, где параметр «значение» попадает в диапазон, определяемый a и b.

Описание

Определяет, где значение находится между двумя точками.

Значения a и b определяют начало и конец линейного числового диапазона. Параметр «значение», который вы указываете, представляет собой значение, которое может лежать где-то в пределах этого диапазона. Этот метод вычисляет, где в указанном диапазоне находится параметр "значение".
Если параметр «значение» находится в пределах диапазона, InverseLerp возвращает значение от нуля до единицы, пропорциональное положению значения в пределах диапазона. Если параметр «значение» выходит за пределы диапазона, InverseLerp возвращает либо ноль, либо единицу, в зависимости от того, находится ли оно до начала диапазона или после его конца.

using UnityEngine; public class ExampleClass : MonoBehaviour { public float start = 20.0f; public float end = 40.0f; public float currentProgress = 22.0f; void Start() { // the progress between start and end is stored as a 0-1 value, in 'i' float i = Mathf.InverseLerp(start, end, currentProgress); // this will display "Current progress: 0.1 or 10%" in Console window Debug.Log("Current progress: " + i + " or " + i * 100 + "%"); // the needle of an on-screen dial could then be set to a // rotational angle out of 360 degrees, based on the progress. float dialNeedleAngle = i * 360; //// this will display "Needle angle: 36" in Console window Debug.Log("Needle angle: " + dialNeedleAngle); } }

Смотрите так же: Lerp.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3