a | 起点值。 |
b | 终点值。 |
t | 两个浮点数之间的插值。 |
float 两个浮点值之间的插值浮点结果。
在 a
与 b
之间按 t
进行线性插值。
参数 t
限制在范围 [0, 1] 内。
当 t
= 0 时,返回 t
。\
当 t
= 1 时,返回 t
。\
当 t
= 0.5 时,返回 a
和 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。