前言
相信做unity的同学或多或少都会有对数值变化进行平滑的需求,比如摄像机的移动,物体颜色的渐变等等,我们不想变化太突然,想让变化过度自然,这个时候我们很自然的会用到Lerp()函数或者SmoothDamp()函数(当然用协程也可以实现),但是我最初使用这两个函数的时候,用出来是这个效果,但是确实不是很理解里面参数所代表的意义,后面还是花了一点点的时间才彻底的清楚这个函数的用法,在这篇文章里我会尝试清晰的把这两个函数一次性讲清楚。(不得不吐槽一下,unity官方文档最初对Lerp函数用法的示例!将Time.deltatime加入第三个参数太不利于理解了!)
1.Lerp解析
1.1Lerp原型以及文字释义
在unityAPI中有各种各样的Lerp可供选择什么Color.Lerp,Vector2.Lerp,Vector3.Lerp等等,网上有些教程把他们一个个拿出来解释,我觉得真的是毫无意义的,最关键的只需要理解其中的一个Lerp就足够了,其它Lerp只是针对它的每一个属性去做变化而已,本质是一样的。
那就是Mathf.Lerp()
//a:变化的起始值
//b:变化的目标值
//t:本次调用返回值所占b和a的差值的比例
//返回值为一个float类型
public static float Lerp(float a, float b, float t);
1.2Lerp初体验
我们拿到一个函数,按照常理去理解,应该调用一次就ok了,效果就出来了,那么我们就在Start()里面调用一次试一下
f