Page MenuHome

"jump to next keyframe" shortcut not related to the timeline viewable keyframes
Closed, ResolvedPublic

Description

--- Operating System, Graphics card ---
windows 7

--- Blender version with error, and version that worked ---
last official 2.66a from blender.org

--- Short description of error ---
when you hit the "up arrow" for the "jump to next keyframe" function, and the timeline option "view only selected channel" is active, you go to next keyframe from any bone in the entire rig, even if this bone is not selected. It is very unpredictable, since the timeline view option affect this shortcut rightly for regular objects. We should navigate only visible keyframes on the timeline, right?


--- Steps for others to reproduce the error (preferably based on attached .blend file) ---
open the file,
hit "up arrow", the time jump to 40, where the selected bone has no key, and there's no keyframe on the timeline too.
if you select the other bone you'll see it has a key at 40
now you can go to object mode
select the cube
hit up arrow, the time jump to the next timeline keyframe, no problem, it is not influenced by other scene objects like the sphere.

This function is very important for any animator. You go back and forth trougth your keys during all day :)

Event Timeline

Joshua, simple one for you i guess :)

I can't fully grasp how this is meant to work.

But, it works in every editor, even without having timelines in a screen. So I don't think this is a timeline controlled feature.
Joshua can tell more.

The jump to keyframes operator is defined for and operates the whole scene, while various timeline/anim editor filtering options are per view. Unfortunately, except for the case where this operator gets used when the cursor is over one of these areas, it is not possible for us to know about the filtering options in place in other editors which may exist (even if there might just be one of them).

This was always how it was intended to work, although it does sound like there is often confusion about the fact that view filtering settings can in fact be view specific (and not some kind of global state) in some cases like this.

In this case, the most I can do is to hack this operator to check if it is being used from an anim editor, and to try and use the filtering settings in place from those. At least this will make the buttons on the timeline header do what many expect (and also resolve a similar request I got from Durian artists when working in action editor). However, this would probably cause more confusion, as using hotkeys while in the 3dview would always end up jumping to otherwise invisible keyframes, while something different would happen in just a few other views...

I think I understand your worry, but the issue is in fact especially annoying in the 3dview.
This is a very basic and classical workflow for an animator :
1. select a bone in 3D view
2. Still in 3d view, hit the "next keyframe" hotkey, and the current time change to the next keyframe of the selected bone (and only the selected bone)
3. modify the pose a little
4. hit the "previous keyframe" hotkey, and then the "next keyframe" hotkey a few times to check if the change is good. If it's not go back to 3.

Pencil animator call this "flipping", because they flip paper sheets all the time to check the movement. You can see this here : https://www.youtube.com/watch?v=nFxWTXajJZE (at approx. 3'38)

This is the expected behaviour for any experienced animator, this is should even be the default setting for keyframe hotkeys.

Hrm... then we may have to take the other approach, and make the View menu setting a per-scene setting instead, and have operator/3d-view indicators all use this to see what they filter (or don't). I'm not particularly fond of this, given that filtering stuff is per-view instance in all other editors, though I guess with timeline it might be acceptable since you're only likely to have a single one of those (unlike other editors).

Does this sound reasonable?

It seems a bit complicated.
What if the "next keyframe" shortcut could just go the next selected bone keyframe, when in pose mode this behaviour seems logical. If someone needs to go to the next keyframe for any bone inside the armature (very rare from my pov), it would just have to switch from pose mode to object mode.
Easy?

I just reported this on a separate bug. Will post the comment here as well though:

When "Show only selected channels" option is enabled the Armature channels lists all existing keyframes of that armature.
When you try to navigate the keyframes using up/down arrows it loops over all these existing keyframes.
Showing all the keyframes on the Armature channel might be useful but looping over all of them is not.

This becomes a big problem on complex rigs with many bones.
Basically keyframe navigation becomes useless because there are too many keyframes.

The animator is only interested on the selected channels,
and wants to jump from keyframe to keyframe (like in traditional animation).

ddjef sums it up quite well.
The "next keyframe" controls should be limited to the current selection.

With a complex rig, by the time you get into the polish phase of an animation, it becomes a useless tool.

@Beorn Leonard (freen) : Do you mean always? Regardless of any other options anywhere?

In my opinion, yes.
Alternatively, maybe a toggle switch in the user prefs or on the timeline (beside the play/next buttons)?

Otherwise, it's simply a function that becomes unusable for anything but the simplest of scenes.

I asked mainly because I was pondering whether to make the "view -> only selected" option in the timeline a per-scene tool setting instead, and make this operator use that.

Neat. That would do the trick for me.

Would you add an accompanying button so that it looks the same as the graph editor and dopesheet?

Well, this function was extremely useful for me until last version of Blender (2.71). I use Sequencer a lot, and jump to the next keyframe, regardless if the keyframe is "visible", is one of the main shortcuts I use. I think that should have an option to enable or disable this option.

@Jonata Bolzan (jonata): You should be able to disable this from the timeline header -> View Menu - it applies for the active scene (not just the timeline).

In 2.71 (2a514f8), you can't jump to keyframes of active objects, if you have another object selected, even with the option "Only keyframes from Selected channels".

From the description, you would expect that "jump to next keyframe" should work if this option is turned off, so you can see the active objects keyframes.

This is useful (in mograph) when you are animating an object and you want to keyframe in the same frames of another object, so you can tweak the timing later with the dope sheet summary.

Joshua Leung (aligorith) closed this task as Resolved.Nov 11 2014, 4:16 AM