real smooth auto beziers for animators

If you don’t want to read, just download addon here!:

https://raw.githubusercontent.com/vilemnovak/blender-addons-vilem-novak/master/addons/fcurve_smooth_handles.py

Can you tell the difference between the upper and lower graph editor curves?


If yes, then you are probably an animator who allready worked with blender’s animation curves.
Their biggest problem so far is (was) wrong auto-handles, which can cause your animation to not run smooth . This forces you to change a lot of keys.
I just had a bigger contract to do some character animation, and finally I got annoyed enough to write a little script which fixes things.

  • adds 2 icons to the header in animation editors, see picture.
    -can do clamped and free auto-beziers.
  • you select keys and run the script. The handles won’t be auto-beziers by type, but aligned, so you have to re-run the script if you change keys.

But there’s another big news. Just the very same day I went to IRC blendercoders channel to talk with people about my script, i realized another coder just works on the same thing for blender 2.8(angavrilov), and the patch is now in it’s own branch. While the algorithms are different(the patch does more clever maths), the results are practically the same.

So, if you want to start using these auto-beziers right now, just grab the addon and install it, otherwise look forward to 2.8!

And I forgot to mention, If I just saved you some hours of your animation work, support me by buying my other addons which I “sell” :wink:

Congrats, great addon :slight_smile:

Indeed, good add-on for animators.

But for me, as a CAD/CAM technician, I would love to see more work on the CAM area. :wink:

You mean blenderCAM improvements?

Yeah… complex stuff. Since last year I have twins at home, so I have much less time to code alongside work…
But I have still several improvements planned which I hope to bring to Blender CAM, it’s all about finding time.

Damn, this is going to break compatibility so hard if it replaces auto handles in 2.8 - but if it’s an improvement then I’m all for it. I never noticed anything wrong with auto handles to be honest… they didn’t work like in Maya ?

compatibility shouldn’t be broken, since probably old auto handles will load as aligned.
Not sure about comparison with Maya…

Isn’t part of the 2.8 project about the allowance of compatibility breakage (which is needed to address longstanding issues and weakpoints)?

I do not know for sure if they are still intending to keep compatibility when possible, even though there’s been discussion of things like converting old projects with layers to use the new collection system.

You’re right, at some point we gotta move on and accept that compatibility is not maintained. I just hope @pildanovak is right in saying old handles shouldn’t change on file load in 2.8 ! Anyway, that looks like a good change.

Oh man, thank you.

I’ve run it a couple times already and it’s wonderful so far. So wonderful that I made this account so I could properly convey my appreciation.

Thanks!

Technically handles don’t change on file load in any case, because they are only recomputed when the curve is modified as a performance optimization.

P.S. Yesterday I have uploaded a build of my branch to GraphicAll.

That’s good news! :wink:

Hopefully people could test and comment how well it works in actual animation practice.

nice can you submit a patch for 2.79 ?? that would be great, i’ve been secretly complaining about this for a while.

If you are referring to the branch, it can only be merged into 2.8 because of backward compatibility reasons.

Btw, sorry for not providing direct links, but there was something about URLs not being allowed before 10 posts, and my first post took 1 day to appear even though it didn’t have any…

What if you just made a button to enable your custom interpolation or the default? That way if you needed to go back to the previous way it worked for backward compatibility, you could just flip the switch.

Actually, couldn’t this just be an additional interpolation mode?

Adding buttons and options because of indecision isn’t good UI design. Anyway, 2.79 has gone to bcon3 so no new features can be accepted from now on.

I’ve updated the build on GraphicAll to match the latest master and added some fixes.

As one more option, Ton Roosendaal suggested in IRC that maybe curves created in older versions of blender should work in legacy mode via a hidden per-curve flag, with some way provided for explicitly upgrading them. Newly created curves would use the new mode from the start.

Yeah, this is essentially what I was hoping for. I downloaded the addon when it came out and used it on a job recently. Now I realize, I can’t live without it but I hate having to hit the button all the time. :wink:

Just tried the build from graphicall and all I can say is: This should be default behavior! If it breaks backward compatibility you can just use an older version. :wink:

I thought it might be interesting to see just how different software handles this same situation.

Here is Blender:


Here is Maya, Max and Modo:


It’s interesting to note that no other software interpolates smoothly. They all exhibit the same behavior to some extent. It looks like they all just point the handles at the next cp.

I think this is going to be pretty great for animators. I’ve already been using it for a day and it’s pretty noticable how much smoother my animation seems. It’ll be interesting to see how hardcore character animators like Hjalti feel about it or if they wind up totally ignoring it.

So many times I’ve felt that the computer always makes the wrong decision when interpolating. Now that it seems to be making better decisions, I can’t help feeling like animators are going to have to re-learn how to utilize this instead of just assuming they are going to have to fight it. I’m not really sure how this will actually effect things but as an animator, I can’t help feeling like we are on the precipice of something big here,