[Bf-animsys] Experimental F-Curve auto handle branch needs testing by animators

Alexander Gavrilov angavrilov at gmail.com
Tue May 16 10:27:29 CEST 2017


Hello,

It's known that the way auto handles work in blender curves isn't great, and there
have been complaints that animators are often forced to either manually adjust all
curve handles, or bypass interpolation by keyframing every frame manually.

Obviously, automatic interpolation can't hope to produce better animation than
a human, but it should be usable when absolute top quality is not required.
Thus I have taken a somewhat old patch by Benoit Bolsee that implements a
mathematical approach that produces smooth F-Curves and did some rewriting
and adding features to get it working solidly.


However since I'm not an animator I cannot evaluate myself how well these
new auto-handles would work in practical workflows, and how significant is
the improvement in the interpolated motion compared to the old way.

One possible point of contention might be that producing smooth curves necessarily
means that modifying keys affects the curve even at some distance from the affected
key (although the degree of changes drops exponentially with distance, and propagation
is completely stopped by Auto Clamped extremes or manual handles.)

Also the degree this affects existing animations would determine how much attention
to backward compatibility would be needed if this is adopted in 2.8: should it e.g.
implement a legacy mode for curves created in previous versions with an explicit
upgrade operation, or keep the shape until the curve is modified, or just recalculate
shape etc.


I have uploaded a windows build of this branch (based on master for ease of
testing) to GraphicAll, with more details on the design in the description:

http://graphicall.org/1221

The build there can open master branch files without problems, and the handles on
curves are only updated when the curve is touched by a modification operation
(even if it is cancelled like G Esc), which may aid comparing.

Alexander




More information about the Bf-animsys mailing list