|
@@ -425,7 +425,7 @@
|
|
<argument index="1" name="to" type="float" />
|
|
<argument index="1" name="to" type="float" />
|
|
<argument index="2" name="weight" type="float" />
|
|
<argument index="2" name="weight" type="float" />
|
|
<description>
|
|
<description>
|
|
- Returns an interpolation or extrapolation factor considering the range specified in [code]from[/code] and [code]to[/code], and the interpolated value specified in [code]weight[/code]. The returned value will be between [code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between [code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is located outside this range, then an extrapolation factor will be returned (return value lower than [code]0.0[/code] or greater than [code]1.0[/code]).
|
|
|
|
|
|
+ Returns an interpolation or extrapolation factor considering the range specified in [code]from[/code] and [code]to[/code], and the interpolated value specified in [code]weight[/code]. The returned value will be between [code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between [code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is located outside this range, then an extrapolation factor will be returned (return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). Use [method clamp] on the result of [method inverse_lerp] if this is not desired.
|
|
[codeblock]
|
|
[codeblock]
|
|
# The interpolation ratio in the `lerp()` call below is 0.75.
|
|
# The interpolation ratio in the `lerp()` call below is 0.75.
|
|
var middle = lerp(20, 30, 0.75)
|
|
var middle = lerp(20, 30, 0.75)
|
|
@@ -434,7 +434,7 @@
|
|
var ratio = inverse_lerp(20, 30, 27.5)
|
|
var ratio = inverse_lerp(20, 30, 27.5)
|
|
# `ratio` is now 0.75.
|
|
# `ratio` is now 0.75.
|
|
[/codeblock]
|
|
[/codeblock]
|
|
- See also [method lerp] which performs the reverse of this operation.
|
|
|
|
|
|
+ See also [method lerp] which performs the reverse of this operation, and [method range_lerp] to map a continuous series of values to another.
|
|
</description>
|
|
</description>
|
|
</method>
|
|
</method>
|
|
<method name="is_equal_approx">
|
|
<method name="is_equal_approx">
|
|
@@ -494,14 +494,14 @@
|
|
<argument index="1" name="to" type="Variant" />
|
|
<argument index="1" name="to" type="Variant" />
|
|
<argument index="2" name="weight" type="float" />
|
|
<argument index="2" name="weight" type="float" />
|
|
<description>
|
|
<description>
|
|
- Linearly interpolates between two values by the factor defined in [code]weight[/code]. To perform interpolation, [code]weight[/code] should be between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values outside this range are allowed and can be used to perform [i]extrapolation[/i].
|
|
|
|
|
|
+ Linearly interpolates between two values by the factor defined in [code]weight[/code]. To perform interpolation, [code]weight[/code] should be between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values outside this range are allowed and can be used to perform [i]extrapolation[/i]. Use [method clamp] on the result of [method lerp] if this is not desired.
|
|
If the [code]from[/code] and [code]to[/code] arguments are of type [int] or [float], the return value is a [float].
|
|
If the [code]from[/code] and [code]to[/code] arguments are of type [int] or [float], the return value is a [float].
|
|
If both are of the same vector type ([Vector2], [Vector3] or [Color]), the return value will be of the same type ([code]lerp[/code] then calls the vector type's [code]linear_interpolate[/code] method).
|
|
If both are of the same vector type ([Vector2], [Vector3] or [Color]), the return value will be of the same type ([code]lerp[/code] then calls the vector type's [code]linear_interpolate[/code] method).
|
|
[codeblock]
|
|
[codeblock]
|
|
lerp(0, 4, 0.75) # Returns 3.0
|
|
lerp(0, 4, 0.75) # Returns 3.0
|
|
lerp(Vector2(1, 5), Vector2(3, 2), 0.5) # Returns Vector2(2, 3.5)
|
|
lerp(Vector2(1, 5), Vector2(3, 2), 0.5) # Returns Vector2(2, 3.5)
|
|
[/codeblock]
|
|
[/codeblock]
|
|
- See also [method inverse_lerp] which performs the reverse of this operation. To perform eased interpolation with [method lerp], combine it with [method ease] or [method smoothstep].
|
|
|
|
|
|
+ See also [method inverse_lerp] which performs the reverse of this operation. To perform eased interpolation with [method lerp], combine it with [method ease] or [method smoothstep]. See also [method range_lerp] to map a continuous series of values to another.
|
|
</description>
|
|
</description>
|
|
</method>
|
|
</method>
|
|
<method name="lerp_angle">
|
|
<method name="lerp_angle">
|
|
@@ -892,10 +892,11 @@
|
|
<argument index="3" name="ostart" type="float" />
|
|
<argument index="3" name="ostart" type="float" />
|
|
<argument index="4" name="ostop" type="float" />
|
|
<argument index="4" name="ostop" type="float" />
|
|
<description>
|
|
<description>
|
|
- Maps a [code]value[/code] from range [code][istart, istop][/code] to [code][ostart, ostop][/code].
|
|
|
|
|
|
+ Maps a [code]value[/code] from range [code][istart, istop][/code] to [code][ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If [code]value[/code] is outside [code][istart, istop][/code], then the resulting value will also be outside [code][ostart, ostop][/code]. Use [method clamp] on the result of [method range_lerp] if this is not desired.
|
|
[codeblock]
|
|
[codeblock]
|
|
range_lerp(75, 0, 100, -1, 1) # Returns 0.5
|
|
range_lerp(75, 0, 100, -1, 1) # Returns 0.5
|
|
[/codeblock]
|
|
[/codeblock]
|
|
|
|
+ For complex use cases where you need multiple ranges, consider using [Curve] or [Gradient] instead.
|
|
</description>
|
|
</description>
|
|
</method>
|
|
</method>
|
|
<method name="round">
|
|
<method name="round">
|