Page MenuHome

Stacked mode for F-curves in Graph editor.
Open, NormalPublic

Description

Design proposal for “Stacked mode” for F-curves in Graph Editor:
“Stacked mode” is the mode for Graph Editor where F-curves are placed one below the other

Some advantages are described on Rightclickselect - https://blender.community/c/rightclickselect/4jbbbc/

I am not UI designer so examples may look ugly but I hope the idea is clear enough.

PROS:

  1. This mode allow you to show and manage your F-curves more effectively in some cases

From this

to this

  1. It allows you to see the “flow of energy” in your F-curves in a more comfortable way

Here is a vertical movement on Z axis "flows" into a squash


As you can see there are some mess with F-curves in default mode

  1. It allows you to control you F-curves more precisely e.g. If you move handles of different curves at once when these F-curves are at the same place

HOW IT SHOULD WORKS:

  • This mode is not default
  • I suppose menu -View- in Graph Editor is the best place for it, where you could toggle it on\off
  • Also toggle button next to the normalize button is a good idea
  • Stacked mode replace the non-stacked view when it toggled on.

Workflow and behavior are almost the same as in the non-stacked view. I see only two difference.

  1. F-curves in stacked mode must be normalized only.
  2. when you zoom in\out e.g. by mousewheel it must work on vertical axis only in the channel at where your cursor is. And when you press e.g. ctrl+mousewheel all channels should zoom in\out on horizontal axis at once.
  • When you press Home button all your F-curves at once should be fitted in the graph editor area
  • If there are too many channels in stacked mode you supposed to scroll them up\down by e.g alt+mousewheel or by dragging scroll bar.

Only selected channels in the non-stacked view should be added automatically in the stack. If you want to add some more channels you should switch to the non-stacked view, add to the selection other channels you want and switch back to the stack mode. If you need just to remove some channels from the stacked mode you switch back to the non-stacked view and unselect unwanted channels there.

  • If none of the channels are selected and you toggle stacked mode on it should show nothing (same as none of objects or bones are selected in the non-stacked view). First of all you have to select channels that you need in non-stacked view mode (both for bones and objects) then toggle stacked mode on.
  • You should be able to rearrange channels in the stack manually (e.g. by mouse drag)
  • You should be able to change vertical size of a channel string (field? place?) by dragging border of the channel up or down (to give more room for the channel you want). For example Maya does not allow you to change it (this features and the previous one), but Pixar’s Presto does.

Details

Type
Design

Related Objects

Event Timeline

Hi @Stanislav Ovcharov (Stan1). Even though we enjoy people proposing improvements, it's not allowed to post screenshots / recordings of other, closed source, software. The rights on such imagery is vaguely defined, and generally it's also not that useful. Mockups of how things would work within Blender are welcome, and often give a much better picture of the idea in your head than just "look how someone else does it".

For new feature proposals, Right Click Select is the proper place. There you can discuss ideas, flesh them out, and really build a nice proposal. Also be sure to talk with developers about your ideas in #blender-coders up front, so that you're sure your ideas match the design & UX concepts already in Blender.

@Sybren A. Stüvel (sybren) But we disscused it in the blender chat recently and you said to create design task. I can just remove the wrong screenshots (Done). This request is already on rightclick select - https://blender.community/c/rightclickselect/4jbbbc/

Ok, so as a tip for a future design task: include the relevant info. If there is also a link to RCS, just include it.

As it is now, your proposal mixes a few things together. It describes

  • what is "stacked mode",
  • its advantages over the current situation,
  • what features other software does (not) support,
  • what could be nice-to-have features on top.

Could you edit the task, and maybe separate those things out? It's probably easier for others (including me) to understand if it follows the above points in order, instead of inter-mixing everything.

Also it would be great if you could elaborate some more on the user experience side of things. How would people edit those stacks? Would stacks be enabled by default, and if not, how would people enable the feature? How would stacks interact with other Blender features, like pressing the Home button to zoom out to show all data? What would determine the vertical size of stacks? What happens if there isn't enough room to show them all, how would scrolling work? There are many questions that have to be answered before someone could jump in and actually develop the feature.

@Sybren A. Stüvel (sybren) Updated. Should I add more detail or change something?

Looks very interesting to me, can easily see it being very useful! :)

Nice ! I dont use that as often as normalize (in maya) but its definitelly useful,
maybe the channels visible should be the ones selected (highlighted) instead of clickng and adding channels?

I can see this as being useful. I do think it should automatically 'stack' the selected channels like looch mentioned, but you probably need a limit on this as if you select all the channels for the characters there simply won't be enough room to fit the 17,834 channels in the viewport haha.

And maybe the 'stack' toggle button should appear next to the normalize button only when normalize is active.

Having said all that, I'm not sure if it's a feature I would use all that often as I am not a fan of normailzing the view (which might be needed for this).
I prefer to see how my curves relate to each other according to the real values, and normalizing the view breaks my brain. But I do see the benefit for others and I would be happy to try it out, maybe it would become part of my new workflow.

@Luciano Muñoz Sessarego (looch) @Wayne Dixon (waylow) Yeah, that's good idea. Only Selected channels in classic view should be added automatically in the stack. What was added in stack stays in stack, you can only delete useless channels by yourself. If you want to add some more channels you should switch to classic view, select other channels you want and switch back to the stack mode. I think the new additional channels should be added in the stack below current selected channel in the stack or below all the channels if none of channels is selected. Right?

Toggle button next to the normalize button is also good idea, but I don't think it should appear when normalize is active only. Because your f-curves should switch to normalize automatically when you toggle stacked mode on even if they weren't normalized before that.

@Stanislav Ovcharov (Stan1) Yeah, if you select the curves in the order you want, it should stack them in that order. But drop and drag re-ordering after that is nice too.

Stacked mode replace the classic one when it toggled on.

Is "the classic one" the same as "classic view"? In that case I would name it "non-stacked view" instead to make this distinction explicit.

Only Selected channels in classic view should be added automatically in the stack.

When does this happen?

What was added in stack stays in stack, you can only delete useless channels by yourself.

When taken literally this says that I can't delete useless channels when friends are around, but I'm fairly sure you don't mean that ;-) Do you mean that it will be impossible to remove channels from the stack?

If you want to add some more channels you should switch to classic view, select other channels you want and switch back to the stack mode.

This sounds rather tedious to me, but then again, INAA (I'm Not An Animator). Why not keep the visibility and selectability rules the same in stacked and non-stacked mode, and either:

  • show all selected channels stacked, or
  • show all visible channels stacked?

If you just toggle stacked mode on it should show nothing (same as nothing selected in classic view).

The non-stacked view shows the channel list. That's not "nothing".

To exclude some channels from stacked view just select what you want to delete and as usual press X.

I see this making people lose their work. Deleting should not be used to hide things, and hiding should not be used to delete things.

You should be able to change vertical size of a channel string

What is a 'channel string'?

Stacked mode replace the classic one when it toggled on.

Is "the classic one" the same as "classic view"? In that case I would name it "non-stacked view" instead to make this distinction explicit.

Fixed.

Only Selected channels in classic view should be added automatically in the stack.

When does this happen?

What was added in stack stays in stack, you can only delete useless channels by yourself.

When taken literally this says that I can't delete useless channels when friends are around, but I'm fairly sure you don't mean that ;-) Do you mean that it will be impossible to remove channels from the stack?

I meant that you can delete channels from the stack manually only. So if you switch back to the non-stacked view and select some other channels and toggle on stacked view again these new channels will not replace those ones which already were in the stack.

If you want to add some more channels you should switch to classic view, select other channels you want and switch back to the stack mode.

This sounds rather tedious to me, but then again, INAA (I'm Not An Animator). Why not keep the visibility and selectability rules the same in stacked and non-stacked mode, and either:

  • show all selected channels stacked, or
  • show all visible channels stacked?

I am not sure what did you mean. I suppose that rules are the same for both mode (except deleting channels). What I meant I have tried to describe just above. - show all selected channels stacked - then if you want to add more channels you go back to the non-stacked view and select other channels then toggle on stacked mode again. I don't think that - show all visible channels stacked is a good idea because we can easy get too many channels in the stack by mistake.

This is btw option B. which allows you to add channels to the stack in a little bit easy way (and maybe a little bit more understandable). As for me I prefer option A where you can add channels manually only. Select channels you want then hit a hotkey or command from right-click or W special menu or something.. It seems to me that you have more control in this way (you have lower chances to add some channels by mistake)

If you just toggle stacked mode on it should show nothing (same as nothing selected in classic view).

The non-stacked view shows the channel list. That's not "nothing".

I meant this: None of keyframed objects or/and bones are selected so graph editor shows nothing in the both modes. Also stacked mode shows nothing if keyframed objects or/and are selected in none-stacked view but channels are not added yet to the stack (option A) or keyframed objects or/and are selected in none-stacked view but channels are not selected (option B)

To exclude some channels from stacked view just select what you want to delete and as usual press X.

I see this making people lose their work. Deleting should not be used to hide things, and hiding should not be used to delete things.

Well.. I meant when you press Delete hotkey you just remove selected channel from the stack but not delete it as in the non-stacked view mode. (also there could be some confirm menu after you press delete hotkey - remove channels from stack)

You should be able to change vertical size of a channel string

What is a 'channel string'?

I meant this field:

i think to make it work with a lot of data.. i would propose to make stacking only for object that is selected. or curves that are selected for example.

i think to make it work with a lot of data.. i would propose to make stacking only for object that is selected. or curves that are selected for example.

That's exactly how it should work - stacking selected channels only from selected objects or bones only from different armatures because this is one of the main pros to visualize energy flow from one object to another

Only Selected channels in classic view should be added automatically in the stack.

When does this happen?

That makes sense.

I meant that you can delete channels from the stack manually only. So if you switch back to the non-stacked view and select some other channels and toggle on stacked view again these new channels will not replace those ones which already were in the stack.

Why not just keep the channel list as-is, and just have a toggle option between "on top of each other" (non-stacked) and "below each other (stacked)"?

Well.. I meant when you press Delete hotkey you just remove selected channel from the stack but not delete it as in the non-stacked view mode. (also there could be some confirm menu after you press delete hotkey - remove channels from stack)

That's a hard NO for me. Deleting should be deleting. Hiding from some list is not deleting.

@Sybren A. Stüvel (sybren) Agreed. Updated description. Fixed all objections for now.

I don't think it needs to 'delete' the curves. Just unselect the channels and they won't show in the stack anymore.

I don't think it needs to 'delete' the curves. Just unselect the channels and they won't show in the stack anymore.

Yes. You switch back to the non-stacked view and unselect unwanted channels there.

This is exactly what I meant here - Only selected channels in the non-stacked view should be added automatically in the stack. If you want to add some more channels you should switch to the non-stacked view, add to the selection other channels you want and switch back to the stack mode. I will update description to clarify this moment.