Graph Editor 'Selected Keyframes' Panel #94174

Open
opened 2021-12-17 00:56:03 +01:00 by Kevin C. Burke · 8 comments
Contributor

Big Picture
The Selected Keyframes Panel would provide animators with a much faster keyframe editing capability in the Graph Editor: being able to Box Select keyframes and edit their values simultaneously.

Selected Keyframes.gif

Use cases

  • Animator working in Graph Editor wanting to easily edit multiple keyframes

Design

  • The UI contains the same editable values as the Active Keyframe Panel: Interpolation, Key Frame, Key Value, Left Handle Type, Left Handle Frame, Left Handle Value, Right Handle Type, Right Handle Frame, Right Handle Value
  • It also includes the animator-friendly option Subframes to modify the Key Frame by whole or sub frames.
  • The panel would also feature the closely-related Equalize Handles operator, allowing users to make selected handle lengths uniform: either respecting their original angle from the key control point or by flattening the angle.

UX
When multiple keyframes are selected, the UI shows the values of the first keyframe from the Box Selection. This is the first keyframe of the first F-Curve in the Graph Editor. In the original prototype, when multiple keyframes were selected and the values did not match, the value's label included an asterisk (*) decoration to show the user that they would be editing multiple keyframe values. @dr.sybren requested that another method is explored as it should be implemented in a wider scope than the Graph Editor. User Interface feedback requested. In an animation module meeting @JonMatthis proposed a light blue field decoration. Here is a mockup of this as colorized text fields aren't currently possible in Python Add-Ons (except the strong red for alerts).
image.png

More Info
For more information, view the Multi-Keyframe Editing in Blender presentation .

related:

**Big Picture** The Selected Keyframes Panel would provide animators with a much faster keyframe editing capability in the Graph Editor: being able to Box Select keyframes and edit their values simultaneously. ![Selected Keyframes.gif](https://archive.blender.org/developer/F12755702/Selected_Keyframes.gif) **Use cases** * Animator working in Graph Editor wanting to easily edit multiple keyframes **Design** * The UI contains the same editable values as the Active Keyframe Panel: *Interpolation, Key Frame, Key Value, Left Handle Type, Left Handle Frame, Left Handle Value, Right Handle Type, Right Handle Frame, Right Handle Value* * It also includes the animator-friendly option *Subframes* to modify the Key Frame by whole or sub frames. * The panel would also feature the closely-related [Equalize Handles ](https://developer.blender.org/T94172) operator, allowing users to make selected handle lengths uniform: either respecting their original angle from the key control point or by flattening the angle. **UX** When multiple keyframes are selected, the UI shows the values of the first keyframe from the Box Selection. This is the first keyframe of the first F-Curve in the Graph Editor. In the original prototype, when multiple keyframes were selected and the values did not match, the value's label included an asterisk (*) decoration to show the user that they would be editing multiple keyframe values. @dr.sybren requested that another method is explored as it should be implemented in a wider scope than the Graph Editor. **User Interface feedback requested.** In an animation module meeting @JonMatthis proposed a light blue field decoration. Here is a mockup of this as colorized text fields aren't currently possible in Python Add-Ons (except the strong red for alerts). ![image.png](https://archive.blender.org/developer/F12755678/image.png) **More Info** For more information, view the [Multi-Keyframe Editing in Blender presentation ](https://docs.google.com/presentation/d/1hvbnSidNaO4kKCEV2CznhCNYNdGAJ7srQV3URlIFcaM/edit?usp=sharing). related: - #82359 (Stronger binding of Active and Selected) - #54862 (Multi-Object Properties Editing) - {key Alt} behavior described in https://docs.blender.org/manual/en/dev/interface/keymap/introduction.html#properties
Author
Contributor

Added subscribers: @JonMatthis, @dr.sybren, @KevinCBurke

Added subscribers: @JonMatthis, @dr.sybren, @KevinCBurke
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

I get the problem of box selection not setting an active keyframe (that is a "problem" throughout blender and is also discussed in #82359 (Stronger binding of Active and Selected))

Thx for the presentation, a couple of notes:

When selecting multiple keyframes (one-by-one), the user still sees this Panel, however, the Panel only manipulates the last keyframe selected

From testing here the {key Alt} tweaking behavior still seems to work for all this (frame, value on keyframes as well as handles), is this not working for you?
(See Alt in https://docs.blender.org/manual/en/dev/interface/keymap/introduction.html#properties)
This is the current / usual method in blender for editing properties of multiple items selected, making this more obvious and improving upon this is also discussed in #54862 (Multi-Object Properties Editing) (including UI mockups)

Ctrl+S > Selection to Current Frame works with multiple active keyframe frames, but not with active handles.

Will check on this (maybe we should create a separate, isolated report for this)

I get the problem of box selection not setting an active keyframe (that is a "problem" throughout blender and is also discussed in #82359 (Stronger binding of Active and Selected)) Thx for the presentation, a couple of notes: > When selecting multiple keyframes (one-by-one), the user still sees this Panel, however, the Panel only manipulates the last keyframe selected From testing here the {key Alt} tweaking behavior still seems to work for all this (frame, value on keyframes as well as handles), is this not working for you? (See `Alt` in https://docs.blender.org/manual/en/dev/interface/keymap/introduction.html#properties) This is the current / usual method in blender for editing properties of multiple items selected, making this more obvious and improving upon this is also discussed in #54862 (Multi-Object Properties Editing) (including UI mockups) > Ctrl+S > Selection to Current Frame works with multiple active keyframe frames, but not with active handles. Will check on this (maybe we should create a separate, isolated report for this)
Member

In #94174#1274315, @lichtwerk wrote:

Ctrl+S > Selection to Current Frame works with multiple active keyframe frames, but not with active handles.

Will check on this (maybe we should create a separate, isolated report for this)

Here is a patch allowing snapping of handles, too D13606: [WIP/eperimental] Graph Editor: support snapping handles

> In #94174#1274315, @lichtwerk wrote: >> Ctrl+S > Selection to Current Frame works with multiple active keyframe frames, but not with active handles. > Will check on this (maybe we should create a separate, isolated report for this) Here is a patch allowing snapping of handles, too [D13606: [WIP/eperimental] Graph Editor: support snapping handles](https://archive.blender.org/developer/D13606)
Member

In #94174#1274315, @lichtwerk wrote:

When selecting multiple keyframes (one-by-one), the user still sees this Panel, however, the Panel only manipulates the last keyframe selected

From testing here the {key Alt} tweaking behavior still seems to work for all this (frame, value on keyframes as well as handles), is this not working for you?
(See Alt in https://docs.blender.org/manual/en/dev/interface/keymap/introduction.html#properties)
This is the current / usual method in blender for editing properties of multiple items selected, making this more obvious and improving upon this is also discussed in #54862 (Multi-Object Properties Editing) (including UI mockups)

What I want to say with this is that as long as you make sure you have an active keyframe (and yes, box-selecting exposes the "problem" of active vs. selected), the whole concept of adding a new panel seem redundant?

> In #94174#1274315, @lichtwerk wrote: >> When selecting multiple keyframes (one-by-one), the user still sees this Panel, however, the Panel only manipulates the last keyframe selected > > From testing here the {key Alt} tweaking behavior still seems to work for all this (frame, value on keyframes as well as handles), is this not working for you? > (See `Alt` in https://docs.blender.org/manual/en/dev/interface/keymap/introduction.html#properties) > This is the current / usual method in blender for editing properties of multiple items selected, making this more obvious and improving upon this is also discussed in #54862 (Multi-Object Properties Editing) (including UI mockups) What I want to say with this is that as long as you make sure you have an active keyframe (and yes, box-selecting exposes the "problem" of active vs. selected), the whole concept of adding a new panel seem redundant?
Author
Contributor

@lichtwerk , you've made some great points and found some excellent related tasks. Thank you for taking the time!

From testing here the {key Alt} tweaking behavior still seems to work for all this (frame, value on keyframes as well as handles), is this not working for you?
(See Alt in https://docs.blender.org/manual/en/dev/interface/keymap/introduction.html#properties)
This is the current / usual method in blender for editing properties of multiple items selected, making this more obvious and improving upon this is also discussed in #54862 (Multi-Object Properties Editing) (including UI mockups)

I am aware of the {key Alt} tweaking behavior. Thank you for directing me to #54862 (Multi-Object Properties Editing) as this is something, like the author/supporters of this task, I'd very much like to see change in Blender. As you mentioned, not being able to do this with a Box Select makes the selection process extremely tedious.

Here is a patch allowing snapping of handles, too D13606: [WIP/eperimental] Graph Editor: support snapping handles

Yes!! Thank you very much.

What I want to say with this is that as long as you make sure you have an active keyframe (and yes, box-selecting exposes the "problem" of active vs. selected), the whole concept of adding a new panel seem redundant?

You are so right about these panels being redundant and it is because of redundancy/loose-binding of "Active" and "Selected." Solving #82359 (Stronger binding of Active and Selected) and #54862 (Multi-Object Properties Editing) would eliminate the need for this panel. I'm a little discouraged by that though because both are design tasks from 1+ years ago (2020 and 2018, respectively) still in discourse that have not been moved into implementation. I'm not sure how these things are typically decided in Blender, but I feel more confident in animators getting a better UX sooner with this panel than waiting for the dependencies. I will add my thoughts to those tasks and try to understand the status before moving forward.

@lichtwerk , you've made some great points and found some excellent related tasks. Thank you for taking the time! > From testing here the {key Alt} tweaking behavior still seems to work for all this (frame, value on keyframes as well as handles), is this not working for you? > (See `Alt` in https://docs.blender.org/manual/en/dev/interface/keymap/introduction.html#properties) > This is the current / usual method in blender for editing properties of multiple items selected, making this more obvious and improving upon this is also discussed in #54862 (Multi-Object Properties Editing) (including UI mockups) I am aware of the {key Alt} tweaking behavior. Thank you for directing me to #54862 (Multi-Object Properties Editing) as this is something, like the author/supporters of this task, I'd very much like to see change in Blender. As you mentioned, not being able to do this with a Box Select makes the selection process extremely tedious. > Here is a patch allowing snapping of handles, too [D13606: [WIP/eperimental] Graph Editor: support snapping handles](https://archive.blender.org/developer/D13606) Yes!! Thank you very much. > What I want to say with this is that as long as you make sure you have an active keyframe (and yes, box-selecting exposes the "problem" of active vs. selected), the whole concept of adding a new panel seem redundant? You are so right about these panels being redundant and it is because of redundancy/loose-binding of "Active" and "Selected." Solving #82359 (Stronger binding of Active and Selected) and #54862 (Multi-Object Properties Editing) would eliminate the need for this panel. I'm a little discouraged by that though because both are design tasks from 1+ years ago (2020 and 2018, respectively) still in discourse that have not been moved into implementation. I'm not sure how these things are typically decided in Blender, but I feel more confident in animators getting a better UX sooner with this panel than waiting for the dependencies. I will add my thoughts to those tasks and try to understand the status before moving forward.
Author
Contributor

I just checked in on the design of https://developer.blender.org/T54862 and it isn't progressing.

I just checked in on the design of https://developer.blender.org/T54862 and it isn't progressing.
Member

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Philipp Oeser removed the
Interest
Animation & Rigging
label 2023-02-09 14:35:15 +01:00
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
3 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#94174
No description provided.