public static void DrawCurveSegments(CurveSegment curve, Color color, int segments = 50) { float interval = 1.0f / segments; Vector3 lastPos = curve.Evaluate(0); for (int i = 1; i <= segments; i++) { float u = interval * (float)i; Vector3 pos = curve.Evaluate(u); UnityEngine.Debug.DrawLine(lastPos, pos, color); lastPos = pos; } }
public static void DrawCurveCurvatures(CurveSegment curve, Color color, int segments = 50, float scale = 0.1f) { float interval = 1.0f / segments; for (int i = 0; i <= segments; i++) { float u = interval * (float)i; Vector3 pos = curve.Evaluate(u); Vector3 curvature = curve.EvaluateDv2(u); UnityEngine.Debug.DrawLine(pos, pos + curvature * scale, color); } }