# Curve

## Overview

The curve sampler allows you to sample values from a plotted curve.

For more information about how to edit the curves, check the curve editor documentation.

 Property Type Description `ValueType` `enum` Number of dimensions for the curve, from `float1` to `float4`. `Interpolator` `enum` Defines how the values will be interpolated in-between the curve points:`Spline`: Cubic interpolation using each point input and output tangents to compute the curve between the points. `Linear`: Basic linear interpolation between each point value. `Step`: No interpolation between the points, the output will always be the value of the previous point on the curve. `MinLimits` `float4` Minimum possible value for each curve dimension. If the curve goes under this threshold, this value will be returned instead of the actual curve value. Here the dashed line is the theoretical curve value and the plain line is the actual returned value. `MaxLimits` `float4` Maximum possible value for each curve dimension. If the curve goes over this threshold, this value will be returned instead of the actual curve value. Here the dashed line is the theoretical curve value and the plain line is the actual returned value. `HasTimeBounds` `bool` Allows user to move curve control points outside of the `[0, 1]` bounds on the X axis. `Quality` `enum` When changing this property to something else than `exact`, the values of the curve can be precomputed in an array to avoid the interpolation computation. This actually allows some performance gain and depending on where the curve is used, the difference in quality can be pretty much unnoticeable. `CurveOptimization` `enum` Curves can be completly replaced by parametric equations, completly removing any sort of storage for the points and just converting it to some sequence of basic math operations. This is the role of the graph optimizer but you can choose to disable this optimization or change the error threshold that is allowed for curve replacement. `MaxError` `float` Only appears when `CurveOptimization` is set to `Manual`. This is the maximum error allowed in the graph optimization pass to replace the curve with a parametric equation. `FloatValues` `data` Actual curve data to sample. See the curve editor documentation to edit those. Output pins `Data` `dataCurve` The curve data that can be plugged in the CurveSample or CurveOverTime nodes. + all sampler properties