public static void DrawPath(BezierCurveCubeV3D curve, float resolution = 0.1f) { for (float i = 0; i < 1f; i += resolution) { Gizmos.DrawLine(Lerps.BezierLerp.Lerp(curve, i), Lerps.BezierLerp.Lerp(curve, i + resolution)); } }
public static Vector3 Lerp(BezierCurveCubeV3D curve, float time) { var posOne = Lerps.Lerp(curve.StartPos, curve.MidPosOne, time); var posTwo = Lerps.Lerp(curve.MidPosOne, curve.MidPosTwo, time); var posThree = Lerps.Lerp(curve.MidPosTwo, curve.EndPos, time); posOne = Lerps.Lerp(posOne, posTwo, time); posTwo = Lerps.Lerp(posOne, posThree, time); return(posOne + ((posTwo - posOne) * time)); }
public static void DrawPointsPath(BezierCurveCubeV3D curve) { Gizmos.DrawLine(curve.StartPos, curve.MidPosOne); Gizmos.DrawLine(curve.MidPosOne, curve.MidPosTwo); Gizmos.DrawLine(curve.MidPosTwo, curve.EndPos); }