描述:基于浮点数t返回a到b之间的插值,t限制在0~1之间。
该函数定义在Mathf类中,是一个静态函数。
其实这个用起来很简单,可以实现很多效果,像做抛物线,移动动画等。
下面就用它来实现抛物线轨迹:
using UnityEngine; using System.Collections; public class Lerp_test : MonoBehaviour { public float startx; //起始点x位置 public float endx; //终结点x public float speed; //数值变化速度 float starttime; float x; void Start () { starttime = Time.time; } //平滑差值用来做抛物线很简单! void Update () { x = Mathf.Lerp(startx,endx,(Time.time - starttime)*speed); Vector3 pos = new Vector3(x,x*(x - 4),transform.position.z); transform.position = pos; } }将这个脚本托给一个新建的cube,然后设置想要的位置,点击运行,即可!
说明:这只是一个简单的抛物线轨迹方程,y = x*(x-4) = (x - 2)^2 - 4;所以对称轴为:x = 2;
与x轴的交点为(0,0),(4,0)。所以建议设置startx = 0f,endx = 4f。我是为了简化所以
用的这个数值。自己可以改的,很简单。
画个图看看吧:
(画的不是很好!见谅!)
下面是运行效果: