其实这个unity本身就有的函数Mathf.Lerp(),为什么还要自己实现呢。
有一个原因就是这个函数返回的是float型,float型如果数字非常大,转出int时会有精度丢失,也就是转出来的值不对。
而且非常简单。
看下公式
public int Lerp(int a,int b,int v)
{
return (int)(a - (0 - v) / (0 - 1) * (a - b));
}
其实这个unity本身就有的函数Mathf.Lerp(),为什么还要自己实现呢。
有一个原因就是这个函数返回的是float型,float型如果数字非常大,转出int时会有精度丢失,也就是转出来的值不对。
而且非常简单。
看下公式
public int Lerp(int a,int b,int v)
{
return (int)(a - (0 - v) / (0 - 1) * (a - b));
}