BezierSpline.SetControlPoint C# (CSharp) Method

SetControlPoint() public method

public SetControlPoint ( int index, Vector3 point ) : void
index int
point Vector3
return void
    public void SetControlPoint(int index, Vector3 point)
    {
        if (loop)
        {
            if (index == 0)
            {
                points[points.Length - 1] = point;
            }
            else if (index == points.Length - 1)
            {
                points[0] = point;
            }
        }

        points [index] = point;
    }

Usage Example

コード例 #1
0
    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 ();
    }
All Usage Examples Of BezierSpline::SetControlPoint