Unity中的Lerp函数

Lerp(a,b,f) 函数的公式是 返回 (1-f)*a+b*f  所以当f为0时返回的是a  f为1时 返回的是b  所以第三个参数应该是取一个 0~1的渐变值


例如要将角色从一个位置用lerp移动到目标位置 则可以这样写:

temp=0;

S_time=Vector3.Distance(transform.position,target)/speed;

while(transform.position!=target)

{

   transform.position = Vector3.Lerp( transform.position, targetPos,temp/ S_time );

temp+=Time.deltime;

}

这样就能达到以speed的速度插值的效果了

你可能感兴趣的:(Unity)