Design: Graph Editor Curve Display #104867
Labels
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset System
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Viewport & EEVEE
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Asset Browser Project
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Module
Viewport & EEVEE
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Severity
High
Severity
Low
Severity
Normal
Severity
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#104867
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
There are a few issues with the display of curves in the Graph Editor mentioned in the Paper Cuts devtalk thread. However while technically simple to change the drawing, it needs to stay consistent and clear, which is why this Design task exists.
Issues
Current State
Normal
Disabled
Locked
Proposed Solution
Animation: Graph Editor Curve Displayto Design: Graph Editor Curve DisplayAs previously said by others, locked curves should keep vertices visible, but not highlighted as selected, so black as unselected.
I wouldn't change the curve locked visualization, let's keep the dashed line for it, instead of giving it another meaning (curve type).
For curve types (Loc, rot, scale) I would definetely go for user themable colors.
Hey, Nice to see a design task for this:
What do you think about the following proposal. Perhaps the type of dashes can be used to create visual associations with what the curve is responsible for:
The dots would have to be visually different enough from keyframes of course.
I'm afraid it would be too much of a visual clutter, and instead of helping the user identifying them, it would be too disorienting. Having such a strong visual difference between curves, to me doesn't convey the difference between location or rotation etc., but more that an effect (a modifier, a lock) was applied to them.
Also,in your image we only see 4 curves, but try to multiply them for a scenario with multiple characters/objects animated at the same time, with various parameters animated, and maybe also curve modifiers.
Another reason why I'd avoid this solution.
@Slowwkidd I've updated my proposal
@Lumpengnom That looks a bit too noisy for me. I think allowing users to control the FCurve color based on channel type is better.
Random idea but maybe the solution to your problem is a hotkey operator that hides FCurves based on their type. E.g. you'd press a button to only see Translation curves
A hotkey that hides or isolates default sets sounds pretty useful.
Regarding the dashed lines being noisy:
Yes, you are right. I tried to reduce the noise by scaling down the size of the dots and dashes. It is of course still more noisy than flat lines. But do you think that it is also more noisy than a multiple curves with different colors? I am not so sure.
Here is a test with a typical Graph Editor for an object with animated Loc/Rot/Scale. Personally I think that the dashed and dotted lines are better than a multi color setup because you don't have to remember which color is responsible for which axis.
Nevertheless, I think a multi color setup is fine, too.
Here a comparison:
@Lumpengnom I really like your updated design. In fact I think you are right, it's even clearer to read than too many colors.
For the scale lines, instead of dots I'd keep it dashed, but increase the spacing of the dashes. On first glance that's what the dots look like anyway.
Ok, cool.
The dots are meant to be the rotation. The dots are supposed to give a visual cue because you rotate around a pivot.
The dashed lines are for scale. They are supposed to give a visual cue because if you non-uniformly scale something it gets stretched just like a dashed line.
Not sure if theses types of visual cues are necessary as I am not a UI-designer.
Here is an updated Design with dashed instead of dots and larger gaps:
Even with the updated design, I still think that with all these different kind of visualization, it would take more effort for the user to learn which one is what, being less immediate than color. Also because with color, it's the user who chooses it, teaching himself how to differentiate the types with the colors that finds more suitable.
Again, this to me looks more like a particular effect or modifier was applied to curves.
Plus, now how you could tell the difference from locked curves?
It creates even more confusion because they all look like dashed lines, and users would have to squint their eyes to tell they are not locked, but a type of curve. It gives another meaning to dashed curves regardless of how differentated they are, bringing way more conflict to what is trying to solve.
Locked curves: Locked curves have no solid line as background whereas the other ones do.
True, they have a solid background, but in my opinion is still similar enough to potentially disorientate because it's almost like locked.
Also, how would they look if they were also locked?
In case of the second option, we wouldn't be able to tell the curve type if it's locked, which kinda defies the purpose of telling the curve types at a glance.
P.S.
I hope I'm not sounding too pushy or like I'm ruining your proposal, we clearly both want to improve the curves design, I'm just trying to consider all the options and make a point with what I think it's best.
I think this is a bit confusing, the colors are much clearer and the option in preferences is the best way for this.
changes to locked curves have been implemented in this PR #106052
Moving the color options to the preferences will be a second patch