public void GenerateTrack()
{
trackPoints.Clear();
Vector3 point = Vector3.zero;
float radiusAmount = 0f;
centerTrackPoints = new Vector3[curvePoints];
// Set Curves on Bezier Spline
bezierSpline = GetComponent<BezierSpline> ();
bezierSpline.Reset ();
// bezierSpline.ClearControlPoints ();
bezierSpline.Loop = true;
bezierSpline.OnBezierPointChanged = UpdateTrackMesh;
for (int i = 0; i < curvePoints; i++)
{
radiusAmount = ((float)i / curvePoints) * (2*Mathf.PI);
point = new Vector3(radius.x * Mathf.Cos (frequency.x * radiusAmount), 0f, radius.y * Mathf.Sin (frequency.y * radiusAmount));
point = point * radiusSizeFactor;
centerTrackPoints[i] = point;
trackPoints.Add (point);
// Set points in the Bezier curve
if (i > 0 && i % 3 == 0)
bezierSpline.AddCurve ();
bezierSpline.SetControlPoint (i, point);
}
UpdateTrackMesh ();
}