a | 起点值。 |
b | 终点值。 |
t | 两个浮点数之间的插值。 |
float 两个浮点值之间的插值浮点结果。
在 a
与 b
之间按 t
进行线性插值。
参数 t
限制在范围 [0, 1] 内。
When t
= 0 returns a
.
When t
= 1 return b
.
When t
= 0.5 returns the midpoint of a
and b
.
using UnityEngine;
public class Example : MonoBehaviour
{
// animate the game object from -1 to +1 and back
public float minimum = -1.0F;
public float maximum = 1.0F;
// starting value for the Lerp
static float t = 0.0f;
void Update()
{
// animate the position of the game object...
transform.position = new Vector3(Mathf.Lerp(minimum, maximum, t), 0, 0);
// .. and increate the t interpolater
t += 0.5f * Time.deltaTime;
// now check if the interpolator has reached 1.0
// and swap maximum and minimum so game object moves
// in the opposite direction.
if (t > 1.0f)
{
float temp = maximum;
maximum = minimum;
minimum = temp;
t = 0.0f;
}
}
}
另请参阅:LerpUnclamped、LerpAngle。