Proposal: New Graph editor key manipulation operators

I’d like to tackle a bit of a bigger project. It will be a few patches, and I’d like to discuss it here first to see what the dev community thinks about it.

Idea
Blender already has the pose sliding tools, that allow you to interactively create breakdowns in Pose mode. It uses a modal operator and the cursor to interactively set the pose. (I created a patch to improve that but that isn’t necesarily linked to this proposal)
Using the same interaction, we could add similar functionality to the graph editor to manipulate multiple keyframes.

If you are aware of other animation tools in the space you will realize that these are similar to AnimBot from another software package. I think those tools revolutionized the way I animate. Keep in mind this proposal is only a small subset of the functionality that AnimBot provides.
There is an addon for Blender called AnimAide by that does similar things, but in my experience it doesn’t always work. And I think this functionality should be part of Blender out of the box.

Plan

Create a generic slider to be used in multiple modals
Clean up and create a good foundation for the tools.

  • The sliding functionality should only exist once in code. At the moment it does exist in the pose sliding tools and also for the keyframe decimate operator. Maybe also in different areas that I haven’t found yet.
  • All the keyframe operators will work on selection and most of them on keyframe segments (a segment being a continuous selection of keyframes) Some operators already calculate segments, but I think this would be better in a function as well.
  • There will probably be more cleanup work to do that I haven’t realised yet.

Implement keyframe manipulation operators
There are multiple operators that would really improve keyframe manipulation

  • Tween (similar to Pose Slide Breakdowner but for keyframes)
  • Blend to neighbour (blend to left or right keyframe from currrent keyframe value)
  • Blend to default
  • Smooth (There is a smooth operator already, but it would be better if it is interactive)
  • Bake keyframes (Decimate already exists, but the other way is useful as well)
  • More operators can be added in the future, but I think those are the most important ones.

UI and UX
Here is the section where I think most of the discussion will be. These operators need to be easily accessible, so I have multiple ideas for that.

  • embedded in a pie menu
    This would make a lot of them accesible with only one hotkey. However I think the pie menu would be quite crowded and if more operators get added where would we put them? Does Blender use nested pie menus?
  • I think having them as tools would make a lot of sense, but there is no toolpanel in the graph editor…
  • Floating panel like the quick favorites panel. This would scale quite well, but it is not as fast or intuitive as pie menus
  • I will definitely put them in a menu in the graph editor, but I think this is just for discoverability. They are not easy to access there
21 Likes