Graph Editor - Smooth Keys function not working correctly
Open, NormalPublic


Windows 7 Pro 64-bit
Intel Core i7-4770K CPU @ 3.50GHz
ASUS nVidia GeForce GTX 760 2GB GDDR5 DirectCU Mini

Broken: 2.69 r60995

Broken: 2.70 19e627c

Problem: Smoothing algorithm does not work properly.

When the selected keyframes in the file are subjected to the smoothing algorithm (alt-o) the results are actually much worse (bumpier) than before the algorithm was used.

Yes, I know this appears to be a 'worst case' scenario, since the curve in question has already been hand adjusted to be correct. But this algorithm is basically 'broken' if it makes such a curve worse than when it started.

In point of fact, I have attempted to use this 'smoothing' algorithm several times on real world problem curves and find that the results are so bad as to make it more trouble than it is worth. It is simpler to save time and adjust my curves by hand.

Such a function is needed within the graph editor, but the current results would suggest that this algorithm is really due for a re-write.

See attached blend file.


To Do
Ignatz (ignatz) added a project: BF Blender.
Ignatz (ignatz) set Type to Bug.
Ignatz (ignatz) added a subscriber: Ignatz (ignatz).

I’m not quite sure this is really a bug, as far as I know this tool is designed to ease curves with many keyframes, not to be applied on such one as in your example. We more than likely would use better algo, but this does not make it a bug imho.

Will let Joshua decide, anyway! :)

@Bastien Montagne (mont29) - As I pointed out in the write-up, I used this as a 'worst case' scenario in order to demonstrate that the algorithm doesn't have the basic 'smarts' to figure out that a curve is already smooth enough. In other real world examples of my own work where the curves are not already smooth it does much worse... seldom actually doing any real 'smoothing' in a way that would be helpful.

As @Bastien Montagne (mont29) said, the algorithm in use was designed for use with relatively dense FCurves instead of for curves like this.

Joshua Leung (aligorith) changed Type from Bug to To Do.Mar 28 2014, 12:08 AM