private void DrawCurve(Trajectory trajectory) { if (lineRenderer == null) { return; } // Просчитываем ключевые точки и рисуем по ним кривую int pointsCounter = 0; float handledXDist = 0; var step = trajectory.AimRelativePosition.x / MAX_KEY_POINTS_IN_CURVE; var keyPoints = new List <Vector3>(); while (pointsCounter < MAX_KEY_POINTS_IN_CURVE) { keyPoints.Add(trajectory.CalculatePoint(handledXDist)); pointsCounter++; handledXDist += step; } // Добавляем последнюю точку keyPoints.Add(trajectory.CalculatePoint(trajectory.AimRelativePosition.x)); // Рисуем линию lineRenderer.positionCount = pointsCounter + 1; lineRenderer.SetPositions(keyPoints.ToArray()); }