Clean up a Complex Imported Function Curve
Cleaning up imported mocap function curves
Question
I received some noisy fcurve data when I used motion capture for my animation. How do I clean this up?
Answer
Clean up the fcurve by applying one or more of the three Curve Processing filters in the fcurve (animation) editor.
Fcurves generated from external sources such as motion capture may have many more key frames than necessary (commonly one key per frame) or they may contain “noise”—sharp spikes and jags in the fcurve. You may want to remove some of the keys or reduce the noise to edit the animation.
Reducing Noise (Smoothing)
Smoothing decreases the variation between consecutive keyframes on the fcurve. It recreates keyframes at a regular time interval along the fcurve. It also modifies each keyframe’s value, resetting it closer to the average value of all keyframes so that the result of a repeated application of the Smooth command would be a flat curve!
1. Select one or more fcurves that you want to smooth.
2. In the fcurve editor, choose Curves > Curve Processing Options or open the Fcurve Editor Preferences editor.
3. On the Curve Processing page, choose the Smoothing method:
- Use Average Filter to apply a moving average where the weights of the averages are uniformly distributed. You can define the number of keys to average at a time using Filter Size. A greater number of keys results in a straighter curve.
- Use Gaussian Filter to apply a moving average where the weights of the averages are distributed as a bell curve. Use the Variance setting to control the degree of smoothing. A higher variance results in a smoother curve. The Gaussian filter usually provides better results than the Average filter.
4. Choose Curves > Smooth from the fcurve editor command bar.
Decreasing the Number of Keyframes (Fitting)
Fitting reduces the number of keys on the fcurve while preserving the original shape of an fcurve. You can also use the Resampling option to reduce the number of keys (see the next section).
1. Select one or more fcurves that you want to fit.
2. In the fcurve editor, open the Fcurve Editor Preferences editor.
3. On the Curve Processing page, define a Fitting > Tolerance value to set the processing accuracy.
The higher the value, the more points are removed resulting in the curve’s shape deviating more from the original. Smaller values yield a closer fit to the original curve but can create more keys.
4. Choose Curves > Fit from the fcurve editor command bar.
Changing the Number of Keyframes (Resampling)
Resampling adds or removes keyframes at the interval that you specify. Select one or more fcurves that you want to resample.
1. Select one or more fcurves that you want to fit.
2. In the fcurve editor, open the Fcurve Editor Preferences editor.
3. On the Curve Processing page, set the Resampling > Time Step.
The time step determines the frequency of the generated keyframes. For instance, a time step of 1 creates a keyframe on every frame, and a time step of 2 creates a keyframe on every second frame.
You can also choose to keep or discard your original keys by selecting Keep Existing Keys.
4. Choose Curves > Resample from the fcurve editor command bar.

