a | 起始值。 |
b | 结束值。 |
t | 两个浮点数之间的插值值。 |
float 两个浮点值之间的插值浮点结果。
通过 t
在 a
和 b
之间进行线性插值。
参数 t
被钳制在 [0, 1] 范围内。
当 t
= 0 时返回 a
。
当 t
= 1 时返回 b
。
当 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 increase 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, InverseLerp.