void OnSceneGUI() { if (trackMesh.autoUpdate && Event.current.type == EventType.Repaint) { trackMesh.UpdateMesh(); } }
public void Generate() { var previousAnchor = spline.GetControlPoint(spline.ControlPointCount - 1); var previousControl = spline.GetControlPoint(spline.ControlPointCount - 2); // Random random anchors with control points automatically smoothed var anchors = GenerateAnchors(anchorGenerationCount, previousAnchor, ref forward); splinePoints = SmoothBezierFromAnchors(anchors); for (var i = 1; i < splinePoints.Length; i += 3) { spline.AddCurve(splinePoints[i], splinePoints[i + 1], splinePoints[i + 2]); spline.SetControlPointMode(spline.ControlPointCount - 1, BezierControlPointMode.Mirrored); } mesh.UpdateMesh(); }