Version: 2020.2

Mathf.InverseLerp

切换到手册
public static float InverseLerp (float a, float b, float value);

参数

a 起点值。
b 终点值。
value 起点与终点之间的值。

返回

float 起始与结束之间的值的百分比。

描述

计算在范围 [a, b] 内生成插值 value 的线性参数 t。

a 和 b 值定义线的起点和终点。Value 是 a 与 b 之间的位置。将 a 和 b 以及 value 减去 a 以获得 a'、b' 和 value'。这会使 a' 为零,使 b' 和 value' 减小。最后将 value' 除以 b'。这可获得 InverseLerp 量。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public float walkSpeed = 5.0f; public float runSpeed = 10.0f; public float speed = 8.0f;

void Start() { float parameter = Mathf.InverseLerp(walkSpeed, runSpeed, speed); Debug.Log("InverseLerp: 5, 10, 8 = " + parameter); } }

另请参阅:Lerp