Page MenuHome

Animation channels list UI
Confirmed, NormalPublicDESIGN

Description

There are various problems with the animation editor's channel list. Many affordances from the Outliner are missing here, making it difficult to select, navigate and see clearly what is selected. We can also optimize how you switch between visible F-curves, which currently requires users to manually enable or disable visibility toggles.

List of changes

Functional changes:

  • Add an option, on by default, to only show the selected channel curves. When enabled, don't show the eye toggle, since it becomes redundant.
  • Update the channel list to behave like the Outliner:
    • Hold Shift to do range selections (Ctrl to do normal extend)
    • Highlight the entire row on mouse-over.
    • Use arrows for walk-selection, also in combination with Shift to extend
    • Filter the icon columns like the restriction columns in the outliner. For example, not everybody uses modifiers, so having a column of buttons to disable modifiers can be useless.
  • Replace box-select with click-drag (like buttons). This will give more immediate feedback of which channels are selected, rather than seeing that feedback only when releasing the mouse.
  • Auto-scroll the list back into view when all the list entries are outside the view (happens when changing selections)
  • Auto-scroll the channel list when drag-selecting.

Visual changes:

  • Separate the eye toggle from the Graph Editor curve color indicator (D5882)
  • Use alternating lines (see Outliner)
  • Highlighted row should use solid colored background (see Outliner)
  • Rolling over rows should highlight them (see Outliner)

Event Timeline

Sybren A. Stüvel (sybren) lowered the priority of this task from 90 to Normal.Aug 21 2019, 3:17 PM
Sybren A. Stüvel (sybren) created this task.
Sybren A. Stüvel (sybren) updated the task description. (Show Details)

there is something missing here which is the fact that often you want to only see the translate x of all the controllers selected or only the rotation x and y, right now you have to use the search box to filter what you can and then select by hand, It would be great to have maybe a hotkey to select one or many channels filtered to all the selected objects.

Mostly a smaller visual thing, but currently the eye toggles are hard or impossible to see.

We could just separate the colors from the eye toggles:


before/after

What if the channel names where of the corresponding colors, it seems really hard to track with the colors so far from the names

@Luciano Muñoz Sessarego (looch) The issue would then be identical to the current issue. It's not easily possible to make it so the colors always have enough contrast with other elements.

Obviously the color indicators could also be on the left side:

Or could do it more like this:

With alternating rows, Outliner style:

More minimal view, with some of the toggles hidden, as per the proposal:

Disabling channel modifiers is a very esoteric feature and could be off by default.

why do we need a random color for each value, we just need RGB for XYZ + 1 color for W + 1 color for custom properties, that's it,.

This is really similar with what Sybren proposed yesterday in this task: https://developer.blender.org/T68972

@Luciano Muñoz Sessarego (looch) The issue would then be identical to the current issue. It's not easily possible to make it so the colors always have enough contrast with other elements.
Obviously the color indicators could also be on the left side:


Or could do it more like this:

@Luciano Muñoz Sessarego (looch) Please don't expand the scope of these design tasks. They are intentionally limited, so that discussions remain clear and to the point, and so that a developer can easily implement the task and close it.

@William Reynish (billreynish) The visibility of the eye toggles is described in T68972. When I was designing the images there, @Nacho Conesa (Nanoide) was quite vocal in the importance of the channel colour. I'm sure he'll find the dots too small. But let's continue that in T68972.

so sorry! it wasnt my intention to mess this up!
I only commented because i felt that the solution to the problem at hand was creating new problems!
sorry :(

What if the channel names where of the corresponding colors, it seems really hard to track with the colors so far from the names

That's something we are definitely looking at, but intentionally not part of this task. We want to have a clear proposal that includes an improvement of bone group colours, as then we can better reason about foreground & background colours, readability of the text, and how to keep things readable given different UI themes.

It would be great to have maybe a hotkey to select one or many channels filtered to all the selected objects.

Mostly a smaller visual thing, but currently the eye toggles are hard or impossible to see .

there is something missing here which is the fact that often you want to only see the translate x of all the controllers selected or only the rotation x and y, right now you have to use the search box to filter what you can and then select by hand,

+1

I think the combination of @William Reynish (billreynish)'s proposals of the alternating lines, and color strip on the left side is the best of both worlds.


Dots sugggest that they can be clicked on for a specific action, which would be great but it's outside of the scope of this task.

If everybody agrees I'd propose to make this change as soon as possible so there is time for feedback until 2.82 bcon3.

@Pablo Vazquez (pablovazquez) yes, makes sense.

There are really two parts to this: the visual changes and functional changes.

Visual: alternating lines, the different channel color indicator, ability to hide unused toggles.
Functional: Option to only show selected channels, use Outliner-like keyboard input for selection .

These two parts could be done independently, or even by different people, of that’s easier.

I dont, i think i expressed this already, color randomization on channels will only be visual noise.

Visual: alternating lines yes this should be like in the outliner a dark and a bright line alternating to allow readability.

the different channel color indicator this is fake color coding as its assigning colors to things that arent color grouped
I propose two options, let the user assing colors to custom props arbitrarily so you can organize them yourself or leave them with one color that is "the color of custom props".

ability to hide unused toggles yes but i think if we're going with this design we need an easy way to invert hiding,, hide all but one, unhiding all and hiding all, because in the graph editor all the time you want to be able to quickly hide and unhide things to be able to focus on the one or 2 curves you're working on.

Functional: Option to only show selected channels, use Outliner-like keyboard input for selection . a way to do it quickly and in as little clicks as possible is required here.

Sorry for the late reply, im in crunch time.

I dont, i think i expressed this already, color randomization on channels will only be visual noise.
the different channel color indicator this is fake color coding as its assigning colors to things that arent color grouped
I propose two options, let the user assing colors to custom props arbitrarily so you can organize them yourself or leave them with one color that is "the color of custom props".

The logic behind how the channel/curve colors are defined is really a separate issue from how we design and organise the channel source list - it can be designed and developed separately.

ability to hide unused toggles yes but i think if we're going with this design we need an easy way to invert hiding,, hide all but one, unhiding all and hiding all, because in the graph editor all the time you want to be able to quickly hide and unhide things to be able to focus on the one or 2 curves you're working on.

I'm not sure if you have followed the designs, but the idea is that by default you'll only see the curves for the selected channels, which makes it much easier to just see one (or a few) curves at a time.

William Reynish (billreynish) renamed this task from Graph Editor: General channel list UI improvements to Animation channels list UI.Fri, Jan 31, 9:14 AM
William Reynish (billreynish) updated the task description. (Show Details)

I posted this in blender.chat #animation-module, when William mentioned this thread there.
I guess one thing I really would like to see is being clear on which channel is selected. Right now it's hard to guess from all of the suggestions.
Also...having the colors to the left while the curves are to the right, is maybe not a good decision. because the eye has to travel some space between the channel color and the curve. And personally it's easy to match colors when they are next to each other. So, channel color next to the curve editor is better.

You have to remember that the curves are also color coded and they highlight when you select the channel.

Regarding this task

Add an option, on by default, to only show the selected channel curves. Most of the time this is more practical than toggling the eye for every channel.

there is already something that almost works in place:

to me the only problem with it is that even when only seeing keyframes of one of the curves the other curves are still considered and i think they should be disregarded when it comes to "view all", (meaning when viewing all should be all without the "hidden" curves" because by selecting one channel you're only intending to work on that curve and that is your "all" not all the curves in the selected objects.

@Luciano Muñoz Sessarego (looch) That option only shows the *keyframes* rather than the F-curves entirely.

yes i understand that loud and clear, BUT i've been using it as a replacement of the other one, the whole point if to be able to modify one curve at a time, which it does.
as i said, its almos there, its not the same, but the way it works its the same just graying out the other curves instead of not showing them.
the functionality is there.

If I may add an other annoying not very useful thing:
the Group Colors are useful but not so much in the graph editor, and they make too much visual noise, and arent really helping
reason for which I and pretty much every animator i know end up turning them off

why instead of coloring like this:

we color like this, serves the same function, is less intrusive, allows correct reading of everything else.

👍 on the channel group colour suggestion by @Luciano Muñoz Sessarego (looch) .

This actually reminds me that I personally don't like how we have so many keyframes on the dopesheet even if we have just few animated, all from the duplicates in groups,actions and the global one.
I mentioned this before and I was told that it's mainly for ease of selection, to which I agree, and I like how easy it is to select whole groups with just one click....but every time I see this column of keyframes makes me wonder, can't it be more easy on the eyes to recognize which are these quick selection keyframes and which are channel keyframes, when we have expanded groups,actions or objects.
I get it, they are organized and labeled in the channel side bar. But it really takes like few seconds every time to try and figure out which was which.

Yeah i believe that if those rows had more prominent color connected to the "title" on the left side it would be easier to read, maybe to add to that the keyframes that represent "a group" could have a different shape in the dope sheet, or just be visibly bigger.

Yes that's something I was thinking as well. To have them look like normal keyframes when they are closed, but once expanded to have some solution to quickly distinguished between those and actual channel keyframes.