Advanced Keyframe Manipulation Proposal: Tweak
This belongs to a set of three somewhat related proposals that aim to make keyframe manipulation more convenient.
In particular, this proposes an operation to quickly retime keys of particular types like Breakdowns, etc:
Problem
Blender supports some standard ways to annotate keyframes that classical animators use when iteratively working on animation. "Story" Keyframes, breakdown frames, holds, and extremes, etc. Just like we might want to push and pull two subsequent frames of any type to change the timing between them, sometimes we can to do so between frames of a certain type---slow down the entire segment of animation between two storytelling poses while adjusting all the breakdown poses between them. This is a very painstaking process with Blender, because even if I'm happy with the timing of the breakdown poses between those to extremes, I have to manually adjust them one by one.
Of course, one way to solve this is to simply use scaling---select the range of animation I want to shorten, move the active keyframe cursor to the end I want to keep fixed in time, then scale to my desired amount, and then Push/Pull the remainder animation back up to their rightful timing from the end of the range that did change. Still, so much work. This isn't much of a solution.
Solution
Instead, I propose we use the Shift key while translating a frame of a particular type (drag or G, as before) will apply any timing changes to all successor frames between our tweaked frame and its immediate precursor frame of the same type, proportionate to their relative position. Basically, this is linear proportional editing, but for frames.
We can go from this:
...---P--b--b--b--X-b--b---b---...
To this:
...---P-b-b-b-X-b--b---b---...
Or even this:
...---P----b----b----b----X-b--b---b---...
This is kind of similar to Push/Pull, except this time the timing to the left is also changed, all the way up to the nearest frame of the same type, to help me time my story poses and automatically adjust breakdowns.
Details
Same as before, we only really change the timing to the "left" of the frame being worked with.
However, it might sometimes be useful to adjust the proportions of two segments of animation between three frames of a particular type by Tweaking the central frame, keeping the precursor and successor at the same timing. I also propose to use Shift+Alt for this variant use case.
We've been assuming all the proposed transformations are being applied along a single channel. But if we select multiple frames on separate channels, the operations would be applied on those different channels without any issues.
3 Comments
I'm having trouble undestanding how this isn't already possible with the tools in the Dope Sheet. Maybe the workflow is slightly different, but definitely possible, as far as I can tell.
* @Jason van Gumster * Having just learned about Timeslide and extend on the other thread, it seems a lot less of a hassle than I previously thought. Having to constantly move the playhead to use Extend and select arbitrary ranges to use Timeslide is still a more cumbersome than Tweak and Smart-Scale , but they already exist, so I can't complain!
Consider this scenario though: I have three 'key poses', with several breakdown poses in between them. I want to shorten (or lengthen) the time between key pose 1 and 2; a very common task.
With the existing tools I have to:
With Smart-Scale I would have to:
Everything else is done automatically.
And with Tweak, if the frames are properly typed then I would not even have to zoom to select that range.
This is certainly a workflow difference, but the workload difference is still large enough for me to think there is more than a slight difference in what Timeslide and Extend allow us to do even without moving playheads and selecting ranges.
Whether this is useful enough to warrant consideration is up for debate, still :]
Personally—thanks to you teaching me about Extend and Slide—I'm a lot less enthusiastic about the added effort. However, now I feel the need for an easy range selection shortcut for the timelines. Something like clicking on one frame, holding ctrl+shift to click on another frame, and having the entire range including those two frames be selected, like in file managers which are also linear lists like keyframes on the timeline!
* @Scio * At least for this suggestion:
When I animate, I like to have a Timeline and a Dope Sheet visible. The Dope Sheet gives my zoomed-in view while the Timeline gives an overall view. Then you can use features like Border Axis Range (<kbd>Alt</kbd>+<kbd>B</kbd>) and Select Between Markers (<kbd>Alt</kbd>+<kbd>K</kbd>) more easily and with less zooming. The latter of those two features is especially useful if you tend to use markers a lot like I do (and even if you don't use markers all that much, you can just keep two in your timeline for the kind of selection purposes you're talking about).