Unity 6.3
0 онлайн 76 гостей 3 в системе
Вход

Mathf.InverseLerp

Declaration

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

Параметры

Параметр Описание
a Начало диапазона.
b Конец диапазона.
значение Точка в диапазоне, которую требуется вычислить.

Возвращаемое значение

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

Описание

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

Значения a и b задают начало и конец линейного числового диапазона. Передаваемый параметр «value» представляет значение, которое может находиться внутри этого диапазона. Метод вычисляет, в каком месте указанного диапазона находится параметр «value».
Если «value» лежит внутри диапазона, InverseLerp возвращает число от нуля до единицы, пропорциональное позиции «value» в диапазоне. Если «value» лежит вне диапазона, 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,.