Vector3.Lerp 插值的理解(線性),以及Lerp實現勻速運動
阿新 • • 發佈:2019-01-31
一、Vector3.Lerp插值的理解
public static Vector3 Lerp(Vector3 a, Vector3 b, float t);
其中a代表起點,b代表終點。
下面是官方的例子是1秒動畫位置從從from開始到to結束;
public class example:MonoBehaviour{
public Transform start;
public Transform end;
void Update(){
transform.position = Vector3.Lerp (start.position, end.position , Time.deltaTime);
}
}
插值是數學上的一個概念,在這裡用公式表示就是:from + (to - from) * t;這也就是Lerp的返回值(用這個公式分別算出x,y,z)
先看下面這個圖:
其中a就是圖中的from向量,b就是to向量。
是夾在[0 ... 1]之間,當t = 0時,返回from,當t = 1時,返回。和對的平均數;