/** Returns Value normalized to the given range. (e.g. 20 normalized to the range 10->50 would result in 0.25) */
UFUNCTION(BlueprintPure, Category="Math|Float")
float UKismetMathLibrary::NormalizeToRange(float Value, float RangeMin, float RangeMax)
{
if (RangeMin == RangeMax)
{
if (Value < RangeMin)
{
return 0.f;
}
else
{
return 1.f;
}
}
if (RangeMin > RangeMax)
{
Swap(RangeMin, RangeMax);
}
return (Value - RangeMin) / (RangeMax - RangeMin);
}