Theme colors for time visualization #119376

Open
opened 2024-03-12 13:47:47 +01:00 by Christoph Lendenfeld · 7 comments

In Short

I propose to add two new color entries to the Theme.
They define the color of anything before and after the current frame.
This is useful for e.g. Motion Paths.

The Motivation

Currently the Motion Path gets its colors from the Wire (for before current frame) and the Bone Pose Selected (for after the current frame). This is quite arbitrary and could be improved.
Motion Paths are not the only use case for those colors, we also have Onion Skinning for Grease Pencil. And in the future possibly Onion Skinning for meshes.

So I think it would be beneficial to unify the color used when visualizing data outside the current frame.
(of course we still allow for user overrides)

Tools that would benefit

  • Motion Paths
  • Grease Pencil
  • Annotations

Colors

Proposal that roughly follows what Krita has.
Current Frame is not new, the 2 new colors have just been placed next to it.
image

Should the setting be stored in the theme?

Where in the Theme do they live? 3D Viewport section?

Pros
Can be adjusted to match the viewport background.
Current frame color is already defined there.

Cons
Needs to be set for every editor.

Examples in Blender

image

Implementation PR

#120558: Wip: Anim: Theme entry for time visualization

# In Short I propose to add two new color entries to the Theme. They define the color of anything before and after the current frame. This is useful for e.g. Motion Paths. # The Motivation Currently the Motion Path gets its colors from the `Wire` (for before current frame) and the `Bone Pose Selected` (for after the current frame). This is quite arbitrary and could be improved. Motion Paths are not the only use case for those colors, we also have Onion Skinning for Grease Pencil. And in the future possibly Onion Skinning for meshes. So I think it would be beneficial to unify the color used when visualizing data outside the current frame. (of course we still allow for user overrides) # Tools that would benefit * Motion Paths * Grease Pencil * Annotations # Colors Proposal that roughly follows what Krita has. `Current Frame` is not new, the 2 new colors have just been placed next to it. ![image](/attachments/4c87eae4-a389-4874-b4d2-cd21cde34634) ### Should the setting be stored in the theme? Where in the Theme do they live? `3D Viewport` section? **Pros** Can be adjusted to match the viewport background. Current frame color is already defined there. **Cons** Needs to be set for every editor. # Examples in Blender ![image](/attachments/87636dcc-0b6a-4eb1-a483-1148526974a0) # Implementation PR [#120558: Wip: Anim: Theme entry for time visualization](https://projects.blender.org/blender/blender/pulls/120558)
Contributor

This should be done for onion skinning as well. It would be very helpful to be able to define pre and post colors in preferences so you dont have to change them manually for each grease pencil object.

As for the placement, I dont think it should be in the theme. It has nothing to do with how Blender itself looks. Its a workflow specific property. In prefs we already have default color for annotations, and weight paint. I would put it with them.

This should be done for onion skinning as well. It would be very helpful to be able to define pre and post colors in preferences so you dont have to change them manually for each grease pencil object. As for the placement, I dont think it should be in the theme. It has nothing to do with how Blender itself looks. Its a workflow specific property. In prefs we already have default color for annotations, and weight paint. I would put it with them.
Member

Would be nice to have it save for the user! Agree it should be theme.

Would be nice to have it save for the user! Agree it should be theme.
Member

I think this is a great idea. And I do see @nickberckley point about not putting the default colors in the theme, but to be fair, this is not very consistent at the moment. There is a theme section for the collection colors, strip colors and even bone colors. It seems like it would be fine to put these Before and After colors into 3D Viewport IMHO.

I think this is a great idea. And I do see @nickberckley point about not putting the default colors in the theme, but to be fair, this is not very consistent at the moment. There is a theme section for the collection colors, strip colors and even bone colors. It seems like it would be fine to put these `Before` and `After` colors into `3D Viewport` IMHO.
Author
Member

I continued work on this.
Have a look at the first post for pictures.

For the question of storing it in the theme

Pros
Can be adjusted to match the viewport background.
Current frame color is already defined there.

Cons
Needs to be set for every editor.

I think the con is quite significant, but then ideally we'd also not store the current frame color per editor? But I don't want to tackle that right now since it's out of scope for what this task is meant to do.

I continued work on this. Have a look at the first post for pictures. For the question of storing it in the theme **Pros** Can be adjusted to match the viewport background. Current frame color is already defined there. **Cons** Needs to be set for every editor. I think the con is quite significant, but then ideally we'd also not store the current frame color per editor? But I don't want to tackle that right now since it's out of scope for what this task is meant to do.
Contributor

@ChrisLend for current frame I wouldn't add new color property. For more consistency I would reuse the Playhead color, which displays active color in anim editors. Problem is, again, that it's different for every editor, so we'll need to pick one. I would pick one from Dope Sheet, but agree that in future lot of the colors in anim editors should be unified, including this.

That's why I like storing colors in "Editing" properties. For annotations, you just set default color once and in every editor its that color. It would be painful to set that property separately for every editor. And while it's only apliable to 3D viewport now, in future it can be used in many other places. For example if Grease Pencil is added in sequencer in some form.

Another benefit would be that Annotations in every editor have their own Onion Skinning with before and after. And changing that per .blend file, per editor is torture. I use green as default annotations color and that means when I want to use onion skinning I have to change previous color every time.

It would be fantastic if default before and after colors for those were defined in preferences as well. And since annotations exist in almost every editor it would be unwise to add theme colors for each editor.

image

@ChrisLend for current frame I wouldn't add new color property. For more consistency I would reuse the Playhead color, which displays active color in anim editors. Problem is, again, that it's different for every editor, so we'll need to pick one. I would pick one from Dope Sheet, but agree that in future lot of the colors in anim editors should be unified, including this. That's why I like storing colors in "Editing" properties. For annotations, you just set default color once and in every editor its that color. It would be painful to set that property separately for every editor. And while it's only apliable to 3D viewport now, in future it can be used in many other places. For example if Grease Pencil is added in sequencer in some form. Another benefit would be that Annotations in every editor have their own Onion Skinning with before and after. And changing that per .blend file, per editor is torture. I use green as default annotations color and that means when I want to use onion skinning I have to change previous color every time. It would be fantastic if default before and after colors for those were defined in preferences as well. And since annotations exist in almost every editor it would be unwise to add theme colors for each editor. ![image](/attachments/9aca794f-90bf-41e8-bfb5-53856b21a421)
Author
Member

@ChrisLend for current frame I wouldn't add new color property. For more consistency I would reuse the Playhead color, which displays active color in anim editors. Problem is, again, that it's different for every editor, so we'll need to pick one. I would pick one from Dope Sheet, but agree that in future lot of the colors in anim editors should be unified, including this.

Sorry, to clarify I just put the 2 new properties right next to Current Frame to have them in the right context. Current Frame is NOT new.
I'll mention that in the description.

Good point about annotations color. I will add that to the use cases

> @ChrisLend for current frame I wouldn't add new color property. For more consistency I would reuse the Playhead color, which displays active color in anim editors. Problem is, again, that it's different for every editor, so we'll need to pick one. I would pick one from Dope Sheet, but agree that in future lot of the colors in anim editors should be unified, including this. Sorry, to clarify I just put the 2 new properties right next to `Current Frame` to have them in the right context. `Current Frame` is NOT new. I'll mention that in the description. Good point about annotations color. I will add that to the use cases

I like this proposal. The default colours we might want to reconsider, as using pure red & pure green seem like rather "developer choices" to me ;-) Different shades of blue-ish could work well too.

I like this proposal. The default colours we might want to reconsider, as using pure red & pure green seem like rather "developer choices" to me ;-) Different shades of blue-ish could work well too.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
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
EEVEE & Viewport
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
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
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
EEVEE & Viewport
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
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
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
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#119376
No description provided.