Unity 的mathf.lerp(float a,float b,float t)是线性插值函数
a,b的顺序很重要,
如果a=10,b=0,则说明是从10到0的变化。
如果是a=0,b=10,则说明是从0向10的变化。
t的范围在0,1之间(这很重要)
每一次调用mathf.lerp函数,它根据参数返回一个值。
比如 mathf.lerp(0,10f,0.25f)=2.5
mathf.lerp(10f,0,0.25f)=7.5
(注意上述两者的区别)
用途实例
在Animator的脚本中使用线性插值配合Time.time实现游戏对象的缩小
//startTime是击中动画的播放开始的时间点
clown.transform.localScale *= Mathf.Lerp (1, 0f, Time.time - startTime);//由于被击中的动画时间较短,可以确保Time.time-startTime在0,1之间