贝塞尔曲线公式
/// 0到1的值,0获取曲线的起点,1获得曲线的终点/// 曲线的起始位置/// 决定曲线形状的控制点/// 曲线的终点public static Vector3 GetBezierPoint(float t, Vector3 start, Vector3 center, Vector3 end)
{
return (1 - t) * (1 - t) * start + 2 * t * (1 - t) * center + t * t * end;
}
start(p0),center(p1),end(p2)三点确定一条贝塞尔曲线,传入t获取曲线上的坐标
确认起点,终点,和贝塞尔曲线的中间点
起点:警察的坐标
public Transform startTrans;
终点:地面上某个点
public Transform endTrans;
中间点:这里设置为起点和终点的向量相加再乘0.5,再加一个高度,所以应该是起点和终点的中间再偏上的位置,这样应该能得到一个对称的抛物线
var bezierControlPoint = (startPoint + endPoint) * 0.5f+(Vector3.up*height);
获取路径点
知道了起点,终点,和中间点我们就可以取得这个抛物线的曲线了
var startPoint = startTrans.position;
var endPoint=endTrans.P