Anim: Add hotkey for keying set operators #115798

Merged
Christoph Lendenfeld merged 10 commits from ChrisLend/blender:insert_key_pie_menu into main 2024-01-25 14:46:16 +01:00

Issue

This is in response to feedback to the changes from #113504: Anim: Insert keyframes without keying sets
While it does simplify inserting keyframes, sometimes artists want to insert keys only to e.g. Location. This takes longer to do now, since the option is in a menu.

Solution

This PR changes the following:

  • new K hotkey to bring up the "Keying Set" menu. This will always show the menu, even if a keying set is active.
  • Shift + K will open a menu to set the active keying set
  • with "Pie Menu on Drag" enabled in the user preferences, hitting I and moving the mouse will bring up a pie menu to insert only specific transform channels

Build: https://builder.blender.org/download/patch/PR115798/

Conceptually this separates the keying set behavior from the insert keyframe behavior. I will always add keyframes. While K always shows keying set options.

image
image

# Issue This is in response to feedback to the changes from [#113504: Anim: Insert keyframes without keying sets](https://projects.blender.org/blender/blender/pulls/113504) While it does simplify inserting keyframes, sometimes artists want to insert keys only to e.g. Location. This takes longer to do now, since the option is in a menu. # Solution This PR changes the following: * new `K` hotkey to bring up the "Keying Set" menu. This will always show the menu, even if a keying set is active. * `Shift + K` will open a menu to set the active keying set * with "Pie Menu on Drag" enabled in the user preferences, hitting `I` and moving the mouse will bring up a pie menu to insert only specific transform channels Build: https://builder.blender.org/download/patch/PR115798/ Conceptually this separates the keying set behavior from the insert keyframe behavior. `I` will always add keyframes. While `K` always shows keying set options. ![image](/attachments/6fa411ba-2839-442b-a3aa-1c3b98827356) ![image](/attachments/0af9ab3e-426e-427c-9516-3b8c9542ddd2)
Christoph Lendenfeld added the
Module
Animation & Rigging
label 2023-12-05 13:38:26 +01:00
Christoph Lendenfeld added 1 commit 2023-12-05 13:38:37 +01:00
Christoph Lendenfeld requested review from Daniel Salazar 2023-12-05 13:39:34 +01:00
Christoph Lendenfeld added 1 commit 2023-12-05 13:42:54 +01:00
buildbot/vexp-code-patch-coordinator Build done. Details
5fa9f8bb97
also add for object mode
Author
Member

@blender-bot package

@blender-bot package
Member

Package build started. Download here when ready.

Package build started. [Download here](https://builder.blender.org/download/patch/PR115798) when ready.
Contributor

Love this!

Bit feedback:

  1. I key is what this should get imho. If some people prefer current way (in main). How about adding toggle in preferenced to switch between pie and no pie?

  2. I assume All means loc/rot/scale. It should be called Transforms or Loc/Rot/Scale so that its obvious its not keyframing any property. You're gonna get confused bug reports for that.

Love this! Bit feedback: 1. I key is what this should get imho. If some people prefer current way (in main). How about adding toggle in preferenced to switch between pie and no pie? 2. I assume All means loc/rot/scale. It should be called Transforms or Loc/Rot/Scale so that its obvious its not keyframing any property. You're gonna get confused bug reports for that.
Author
Member
  1. I assume All means loc/rot/scale. It should be called Transforms or Loc/Rot/Scale so that its obvious its not keyframing any property. You're gonna get confused bug reports for that.

thanks for the feedback.
Currently "All" includes custom properties

> 2. I assume All means loc/rot/scale. It should be called Transforms or Loc/Rot/Scale so that its obvious its not keyframing any property. You're gonna get confused bug reports for that. thanks for the feedback. Currently "All" includes custom properties
First-time contributor

Since this key is meant to be called frequently (when animating with autokey off), I'd consider using a key that's closer to where the left hand usually rests (the leftmost third of the keyboard, although that is valid only for right-handed people). Blender has had this habit of giving little consideration to workflow constraints for the longest time, and now that projects such as this one are approched in a much more artist-centric way, I think it makes sense to reconsider some of the less practical choices made back in the day. Of course a change in hotkey would have to make sense in the context of greater animation changes, and with so much happening on this front right now, it's difficult to predict what the ideal pose mode hotkey layout will look like. I'd recommend doing our best to centralize common operations where the hands are however, and then iterate from there. I think the F key is free both in object and pose mode, could be a start.

Since this key is meant to be called frequently (when animating with autokey _off_), I'd consider using a key that's closer to where the left hand usually rests (the leftmost third of the keyboard, although that is valid only for right-handed people). Blender has had this habit of giving little consideration to workflow constraints for the longest time, and now that projects such as this one are approched in a much more artist-centric way, I think it makes sense to reconsider some of the less practical choices made back in the day. Of course a change in hotkey would have to make sense in the context of greater animation changes, and with so much happening on this front right now, it's difficult to predict what the ideal pose mode hotkey layout will look like. I'd recommend doing our best to centralize common operations where the hands are however, and then iterate from there. I think the F key is free both in object and pose mode, could be a start.
First-time contributor

What would you do if you needed to record rotation and location for one object, and then visual rotation and scale for another? Use the insert keyframe menu instead? Or perhaps you could select multiple and then click confirm?

Would be handy to have a visual checkbox too, just in case you want to record a keyframe that incorporates the values based on pushed down strips below the active action, or constraints.

What would you do if you needed to record rotation and location for one object, and then visual rotation and scale for another? Use the insert keyframe menu instead? Or perhaps you could select multiple and then click confirm? Would be handy to have a visual checkbox too, just in case you want to record a keyframe that incorporates the values based on pushed down strips below the active action, or constraints.
First-time contributor

Here's a suggestion I have to make it easy to choose what happens when you press 'i' to insert a keyframe. It always adheres to what you have set in the keying set. I've also designed the keying set menu to make it easy to create, edit and choose keying sets (hard coded ones are read only):

image

So if you want to always be asked what sort of keyframe, you can create a keying set called 'ask me' for example, and tick the 'open insert keyframe menu'. Of if you want it to use the defaults from preferences, you can tick choose that option.

Here's a suggestion I have to make it easy to choose what happens when you press 'i' to insert a keyframe. It always adheres to what you have set in the keying set. I've also designed the keying set menu to make it easy to create, edit and choose keying sets (hard coded ones are read only): ![image](/attachments/58b51e05-61e2-49a9-9238-c9e789e565c4) So if you want to always be asked what sort of keyframe, you can create a keying set called 'ask me' for example, and tick the 'open insert keyframe menu'. Of if you want it to use the defaults from preferences, you can tick choose that option.
304 KiB
First-time contributor

Perhaps the pie menu above could only show the options of the current keying set. For example if the keying set is visual loc & rotation, then the pie menu would only show those two options.

Perhaps the pie menu above could only show the options of the current keying set. For example if the keying set is visual loc & rotation, then the pie menu would only show those two options.

I agree that the "I" key seems pretty packed already, but maybe "Alt I" which currently is delete key (I know no one that uses that hotkey tbh) could be replaced with this menu and maybe the menu could have in the bottom left and right corners "custom props" and "delete keys"

Its just an idea.

Now moving it closer to the left side of the keyboard it is also something I'd appreciate but lets figure out the behaviour first then where it goes?, i think D is also free both in pose and object mode.

But the main thing for me is that this menu should be secondary, animators 99 out of 10 times want to key all the transforms and custom props that aren't locked, mostly because you need to make hundreds of key to accomplish an animation, the current menu gets in the way more often than not.

keying specific channels come way later into polish, I'd go as far as to say that normally you dont want to key the transforms in their groups you rarely want to key rotation xyz or location xyz you more commonly want to go from keying all to just rot y or locacion x

Hope that makes any sort of sense

I agree that the "I" key seems pretty packed already, but maybe "Alt I" which currently is delete key (I know no one that uses that hotkey tbh) could be replaced with this menu and maybe the menu could have in the bottom left and right corners "custom props" and "delete keys" Its just an idea. Now moving it closer to the left side of the keyboard it is also something I'd appreciate but lets figure out the behaviour first then where it goes?, i think D is also free both in pose and object mode. But the main thing for me is that this menu should be secondary, animators 99 out of 10 times want to key all the transforms and custom props that aren't locked, mostly because you need to make hundreds of key to accomplish an animation, the current menu gets in the way more often than not. keying specific channels come way later into polish, I'd go as far as to say that normally you dont want to key the transforms in their groups you rarely want to key rotation xyz or location xyz you more commonly want to go from keying all to just rot y or locacion x Hope that makes any sort of sense
Contributor

I agree that the "I" key seems pretty packed already, but maybe "Alt I" which currently is delete key (I know no one that uses that hotkey tbh) could be replaced with this menu and maybe the menu could have in the bottom left and right corners "custom props" and "delete keys"

Its just an idea.

Now moving it closer to the left side of the keyboard it is also something I'd appreciate but lets figure out the behaviour first then where it goes?, i think D is also free both in pose and object mode.

But the main thing for me is that this menu should be secondary, animators 99 out of 10 times want to key all the transforms and custom props that aren't locked, mostly because you need to make hundreds of key to accomplish an animation, the current menu gets in the way more often than not.

keying specific channels come way later into polish, I'd go as far as to say that normally you dont want to key the transforms in their groups you rarely want to key rotation xyz or location xyz you more commonly want to go from keying all to just rot y or locacion x

Hope that makes any sort of sense

D is for drawing annotations.

I don't agree that this menu should be secondary. This is best way I've seen so far for my workflow. I think you're only thinking about this from blocking point of view. But for motion graphics for example, I almost never want to key all transforms at once. I know for rigs and bones its different, but for object transforms there is very rarely case when I want to key all three of them.

In fact I just don't understand the point of the keying from preferences thing. Only way it can be useful, is for animators like you, who want to key all three transforms at once. But why not use keying set for that? And when will an animator only need to key rotations only or scales only? Are there rotation animators and scale animators? Having to switch this from preferences is nonsense to me. And you need to switch between them. This menu is just perfect. In fact whether or not this patch gets implemented I'm gonna do my own python version of this and completely remove current I key functionality.

> I agree that the "I" key seems pretty packed already, but maybe "Alt I" which currently is delete key (I know no one that uses that hotkey tbh) could be replaced with this menu and maybe the menu could have in the bottom left and right corners "custom props" and "delete keys" > > Its just an idea. > > Now moving it closer to the left side of the keyboard it is also something I'd appreciate but lets figure out the behaviour first then where it goes?, i think D is also free both in pose and object mode. > > But the main thing for me is that this menu should be secondary, animators 99 out of 10 times want to key all the transforms and custom props that aren't locked, mostly because you need to make hundreds of key to accomplish an animation, the current menu gets in the way more often than not. > > keying specific channels come way later into polish, I'd go as far as to say that normally you dont want to key the transforms in their groups you rarely want to key rotation xyz or location xyz you more commonly want to go from keying all to just rot y or locacion x > > > Hope that makes any sort of sense D is for drawing annotations. I don't agree that this menu should be secondary. This is best way I've seen so far for my workflow. I think you're only thinking about this from blocking point of view. But for motion graphics for example, I almost never want to key all transforms at once. I know for rigs and bones its different, but for object transforms there is very rarely case when I want to key all three of them. In fact I just don't understand the point of the keying from preferences thing. Only way it can be useful, is for animators like you, who want to key all three transforms at once. But why not use keying set for that? And when will an animator only need to key rotations only or scales only? Are there rotation animators and scale animators? Having to switch this from preferences is nonsense to me. And you need to switch between them. This menu is just perfect. In fact whether or not this patch gets implemented I'm gonna do my own python version of this and completely remove current I key functionality.
First-time contributor

In fact I just don't understand the point of the keying from preferences thing. Only way it can be useful, is for animators like you, who want to key all three transforms at once. But why not use keying set for that?

100% agree, putting a default keying set in the preferences that can't be disabled is a horrendous idea. The keying sets already provide this functionality, and don't require a visit to the user preferences each time you want to change what new keys will be for.

Plus, if you don't have a keying set selected, that means you want to be asked each time. Defaults in the preferences prevent this, forcing you to either elect a keying set, or change the preferences each time you want to keyframe something different. This is much slower than just choosing from the insert keyframe menu.

> In fact I just don't understand the point of the keying from preferences thing. Only way it can be useful, is for animators like you, who want to key all three transforms at once. But why not use keying set for that? 100% agree, putting a default keying set in the preferences that can't be disabled is a horrendous idea. The keying sets already provide this functionality, and don't require a visit to the user preferences each time you want to change what new keys will be for. Plus, if you don't have a keying set selected, that means you want to be asked each time. Defaults in the preferences prevent this, forcing you to either elect a keying set, or change the preferences each time you want to keyframe something different. This is much slower than just choosing from the insert keyframe menu.
First-time contributor

Hello,
i tested it a bit. I actually like to have a general button that keyframes everything i set it to and a different button for specific keyframes like rot, loc and scale. Would be cool to have a custom pie menu where you can add things and delete some, probably not possible.

Do we have short and long press actions in blender? I saw a task like this some time ago but i dont think it got implemented? With it, the i key could be both a pie menu and a general keying key. The other option is then to only have a different key for it which is a bit weird since i was always the key for keyframes.

To the argument of animators only keying everything, that is mostly true for characters but not really for motions graphics. I like to avoid unnecessary keyframes to make the graph clearer and easier later for other effects. Offsetting location and rotation ect which can get quite messy sometimes.

Hello, i tested it a bit. I actually like to have a general button that keyframes everything i set it to and a different button for specific keyframes like rot, loc and scale. Would be cool to have a custom pie menu where you can add things and delete some, probably not possible. Do we have short and long press actions in blender? I saw a task like this some time ago but i dont think it got implemented? With it, the i key could be both a pie menu and a general keying key. The other option is then to only have a different key for it which is a bit weird since i was always the key for keyframes. To the argument of animators only keying everything, that is mostly true for characters but not really for motions graphics. I like to avoid unnecessary keyframes to make the graph clearer and easier later for other effects. Offsetting location and rotation ect which can get quite messy sometimes.
Contributor

Hello,
i tested it a bit. I actually like to have a general button that keyframes everything i set it to and a different button for specific keyframes like rot, loc and scale. Would be cool to have a custom pie menu where you can add things and delete some, probably not possible.

Do we have short and long press actions in blender? I saw a task like this some time ago but i dont think it got implemented? With it, the i key could be both a pie menu and a general keying key. The other option is then to only have a different key for it which is a bit weird since i was always the key for keyframes.

To the argument of animators only keying everything, that is mostly true for characters but not really for motions graphics. I like to avoid unnecessary keyframes to make the graph clearer and easier later for other effects. Offsetting location and rotation ect which can get quite messy sometimes.

There is long press actions in Blender. You have to enable it from preferences. I like your idea very much. If I tap I insert keyframe for channels in preferences, if I hold I bring up pie to let me choose. Sounds like a best of both worlds

> Hello, > i tested it a bit. I actually like to have a general button that keyframes everything i set it to and a different button for specific keyframes like rot, loc and scale. Would be cool to have a custom pie menu where you can add things and delete some, probably not possible. > > Do we have short and long press actions in blender? I saw a task like this some time ago but i dont think it got implemented? With it, the i key could be both a pie menu and a general keying key. The other option is then to only have a different key for it which is a bit weird since i was always the key for keyframes. > > To the argument of animators only keying everything, that is mostly true for characters but not really for motions graphics. I like to avoid unnecessary keyframes to make the graph clearer and easier later for other effects. Offsetting location and rotation ect which can get quite messy sometimes. > > There is long press actions in Blender. You have to enable it from preferences. I like your idea very much. If I tap I insert keyframe for channels in preferences, if I hold I bring up pie to let me choose. Sounds like a best of both worlds

I can live with that if thats the agreed solution by everyone.
i reckon I would prefer modifier key plus the same because that seems snappier to me but this is a good alternative.

I can live with that if thats the agreed solution by everyone. i reckon I would prefer modifier key plus the same because that seems snappier to me but this is a good alternative.
Christoph Lendenfeld added 2 commits 2023-12-07 10:37:19 +01:00
buildbot/vexp-code-patch-darwin-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-arm64 Build done. Details
buildbot/vexp-code-patch-linux-x86_64 Build done. Details
buildbot/vexp-code-patch-windows-amd64 Build done. Details
buildbot/vexp-code-patch-coordinator Build done. Details
8e94c17cbc
restore I to previous functionality
add K hotkey for new functionality
Author
Member

@blender-bot package

Thanks for the discussion, really helpful for me.
Since the use case for the old keying set centric workflow seems reasonable, I've done the following with this PR now.

  • Revert the I hotkey back to what it was before, bringing up the keying set menu
  • Add the new keying functionality to the hotkey K. (K for keying I guess)
  • With "Pie menu on drag" enabled in the user preferences, holding K + moving the mouse will bring up the pie menu to insert specific channels
    image

This doesn't move the insert key hotkey closer to the left hand, but let's leave that discussion for a different time. Afaik, major hotkey changes are considered breaking and as such should only happen on major releases (so for 5.0)

I've kicked off a new build, if you want to test it. Check the date to see if it is done before downloading

@3di how often do you use the "visual keying" option?

@blender-bot package Thanks for the discussion, really helpful for me. Since the use case for the old keying set centric workflow seems reasonable, I've done the following with this PR now. * Revert the `I` hotkey back to what it was before, bringing up the keying set menu * Add the new keying functionality to the hotkey `K`. (K for keying I guess) * With "Pie menu on drag" enabled in the user preferences, holding `K` + moving the mouse will bring up the pie menu to insert specific channels ![image](/attachments/ce6e6642-602a-4a2b-ad22-2599e4bb5c1b) This doesn't move the insert key hotkey closer to the left hand, but let's leave that discussion for a different time. Afaik, major hotkey changes are considered breaking and as such should only happen on major releases (so for 5.0) I've kicked off a new build, if you want to test it. Check the date to see if it is done before downloading @3di how often do you use the "visual keying" option?
8.6 KiB
Member

Package build started. Download here when ready.

Package build started. [Download here](https://builder.blender.org/download/patch/PR115798) when ready.
Contributor

@blender-bot package

Thanks for the discussion, really helpful for me.
Since the use case for the old keying set centric workflow seems reasonable, I've done the following with this PR now.

  • Revert the I hotkey back to what it was before, bringing up the keying set menu
  • Add the new keying functionality to the hotkey K. (K for keying I guess)
  • With "Pie menu on drag" enabled in the user preferences, holding K + moving the mouse will bring up the pie menu to insert specific channels
    image

This doesn't move the insert key hotkey closer to the left hand, but let's leave that discussion for a different time. Afaik, major hotkey changes are considered breaking and as such should only happen on major releases (so for 5.0)

I've kicked off a new build, if you want to test it. Check the date to see if it is done before downloading

@3di how often do you use the "visual keying" option?

Having old I functionality isnt needed anymore imo. New methods meet all needs I think.

But I wonder what happens when I have keying set enabled. What does I do and what does K do? Im guessing I will insert keyframes for keying set and K (without drag) for preferences? It can get confusing and them being so close misclicks will happen a lot.

I think removing old I key and having current K functionalities on I makes sense. That way:

I (no keying set) - key channels from preferences
I (keying set) - key channels from keying set
I (drag, regardless of keying set) - choose specific channels.

This makes a lotta sense to me and clears all possible confusions

> @blender-bot package > > Thanks for the discussion, really helpful for me. > Since the use case for the old keying set centric workflow seems reasonable, I've done the following with this PR now. > > * Revert the `I` hotkey back to what it was before, bringing up the keying set menu > * Add the new keying functionality to the hotkey `K`. (K for keying I guess) > * With "Pie menu on drag" enabled in the user preferences, holding `K` + moving the mouse will bring up the pie menu to insert specific channels > ![image](/attachments/ce6e6642-602a-4a2b-ad22-2599e4bb5c1b) > > This doesn't move the insert key hotkey closer to the left hand, but let's leave that discussion for a different time. Afaik, major hotkey changes are considered breaking and as such should only happen on major releases (so for 5.0) > > I've kicked off a new build, if you want to test it. Check the date to see if it is done before downloading > > @3di how often do you use the "visual keying" option? Having old I functionality isnt needed anymore imo. New methods meet all needs I think. But I wonder what happens when I have keying set enabled. What does I do and what does K do? Im guessing I will insert keyframes for keying set and K (without drag) for preferences? It can get confusing and them being so close misclicks will happen a lot. I think removing old I key and having current K functionalities on I makes sense. That way: I (no keying set) - key channels from preferences I (keying set) - key channels from keying set I (drag, regardless of keying set) - choose specific channels. This makes a lotta sense to me and clears all possible confusions
Christoph Lendenfeld added the
Interest
User Interface
label 2023-12-07 11:06:54 +01:00
Author
Member

I (no keying set) - key channels from preferences
I (keying set) - key channels from keying set
I (drag, regardless of keying set) - choose specific channels.

This makes a lotta sense to me and clears all possible confusions

The new keying function already respects the keying set. So when a keying set is active, pressing I and K will do the same thing.
From the discussion I understand that the keying set menu is still very much needed for some workflows.

> I (no keying set) - key channels from preferences > I (keying set) - key channels from keying set > I (drag, regardless of keying set) - choose specific channels. > > This makes a lotta sense to me and clears all possible confusions The new keying function already respects the keying set. So when a keying set is active, pressing `I` and `K` will do the same thing. From the discussion I understand that the keying set menu is still very much needed for some workflows.
Contributor

How about move K key in its interity to I, and use K key for quick pop up menu that lets you choose keying set. Having two keys do same thing is not ideal

How about move K key in its interity to I, and use K key for quick pop up menu that lets you choose keying set. Having two keys do same thing is not ideal
First-time contributor

Thats why the long press and short press on I should be pretty good without having another key.. You just deactivate the pie menu when you have a keying set active..
I never use the keying set but that might has its use.. because if you set the first keyframe on an object you basically have your keying set.

Thats why the long press and short press on I should be pretty good without having another key.. You just deactivate the pie menu when you have a keying set active.. I never use the keying set but that might has its use.. because if you set the first keyframe on an object you basically have your keying set.
First-time contributor

@3di how often do you use the "visual keying" option?

I use them often for IK switching, so that the keyframe captures the result of the constraint as the starting position for FK.

> @3di how often do you use the "visual keying" option? I use them often for IK switching, so that the keyframe captures the result of the constraint as the starting position for FK.
First-time contributor

how's about this.

i = current behaviour (use keying set if active, or present insert keyframe menu if not)
i (long press) = bring up the insert keyframe menu, but rather than creating a keyframe it sets the keying set to the selected option. This would be great because currently you can only change the keying set on the timeline, which often isn't visible.

alt i = bring up the pie menu to select individual (loc,rot,scale). Making it a quick keying set override.
alt i (long press) = pie menu for individual loc,rot,scale, but this time visual.

Remove the defaults from the preferences animation tab. If a default is wanted, then the keying sets already provide this functionality in a more convenient place without breaking the 'ask me what I want' behaviour when one isn't chosen.

how's about this. i = current behaviour (use keying set if active, or present insert keyframe menu if not) i (long press) = bring up the insert keyframe menu, but rather than creating a keyframe it sets the keying set to the selected option. This would be great because currently you can only change the keying set on the timeline, which often isn't visible. alt i = bring up the pie menu to select individual (loc,rot,scale). Making it a quick keying set override. alt i (long press) = pie menu for individual loc,rot,scale, but this time visual. Remove the defaults from the preferences animation tab. If a default is wanted, then the keying sets already provide this functionality in a more convenient place without breaking the 'ask me what I want' behaviour when one isn't chosen.
Author
Member

i (long press) = bring up the insert keyframe menu, but rather than creating a keyframe it sets the keying set to the selected option. This would be great because currently you can only change the keying set on the timeline, which often isn't visible.

there is a hotkey to do this, CTRL+SHIFT+ALT+I
I mean its not a good hotkey, but it's there

> i (long press) = bring up the insert keyframe menu, but rather than creating a keyframe it sets the keying set to the selected option. This would be great because currently you can only change the keying set on the timeline, which often isn't visible. there is a hotkey to do this, CTRL+SHIFT+ALT+I I mean its not a good hotkey, but it's there
First-time contributor

intuitive, like twister for my fingers! :) Thanks though, I didn't realise it was a thing.

intuitive, like twister for my fingers! :) Thanks though, I didn't realise it was a thing.
Author
Member

Remove the defaults from the preferences animation tab. If a default is wanted, then the keying sets already provide this functionality in a more convenient place without breaking the 'ask me what I want' behaviour when one isn't chosen.

This isn't a good solution that respects both parties. The reason why this was implemented in the first place is because animators want to "just key the thing" without having to specify exactly what is being keyed. Now the goal is to find a solution that allows for both worlds.

In hindsight, adding the K hotkey isn't a good solution either since it causes confusion about which hotkey to press.

To reiterate, we need a solution that allows those 3 levels of specificity:

  • just key the thing (no questions asked)
  • I specify which parts to key
  • I specify how it is keyed (e.g. visual)
> Remove the defaults from the preferences animation tab. If a default is wanted, then the keying sets already provide this functionality in a more convenient place without breaking the 'ask me what I want' behaviour when one isn't chosen. This isn't a good solution that respects both parties. The reason why this was implemented in the first place is because animators want to "just key the thing" without having to specify exactly what is being keyed. Now the goal is to find a solution that allows for both worlds. In hindsight, adding the `K` hotkey isn't a good solution either since it causes confusion about which hotkey to press. To reiterate, we need a solution that allows those 3 levels of specificity: * just key the thing (no questions asked) * I specify which parts to key * I specify how it is keyed (e.g. visual)
First-time contributor

@ChrisLend see attached video

This isn't a good solution that respects both parties. The reason why this was implemented in the first place is because animators want to "just key the thing" without having to specify exactly what is being keyed. Now the goal is to find a solution that allows for both worlds.

(note: has voice-over)

@ChrisLend see attached video > This isn't a good solution that respects both parties. The reason why this was implemented in the first place is because animators want to "just key the thing" without having to specify exactly what is being keyed. Now the goal is to find a solution that allows for both worlds. <video src='/attachments/5a9250fa-6898-4825-b65a-3f872ef4dbb8' controls></video> (note: has voice-over)
First-time contributor

another option would be to have the preferences say:

what to do when no keying set specified:

  1. ask (legacy)
  2. insert as loc/rot/scale
another option would be to have the preferences say: what to do when no keying set specified: 1. ask (legacy) 2. insert as loc/rot/scale
Contributor

just key the thing (no questions asked)
I specify which parts to key
I specify how it is keyed (e.g. visual)

I'm not familiar with visual keying, but other two are answered by new K behavior, if its moved to I. Press to insert no questions asked, hold to specify parts. I use that for example for viewport mode changes. Tap Z to go into Wireframe/Solid, hold Z to specify a mod.

For those who use drag behavior its really nice, and for those who don't, I think we can also have pie menu on Shift I, that way they can use whether they want to key directly (I), or to specify (Shift-I)

So in summary:
I : just key the thing (no questions asked)
I (drag) : I specify which parts to key
Shift + I : I specify which parts to key

As for the old menu, I know you're getting a bit slack about that, but I don't think its necessary, especially after keying sets are improved. That is similar situation as UI module had with accelerator keys. Some people are really used to something, but positive change can't be halted bacause of old habits. Especially when old menu is super easily recreatable in Python and free addons will exist from day 1.

> just key the thing (no questions asked) > I specify which parts to key > I specify how it is keyed (e.g. visual) I'm not familiar with visual keying, but other two are answered by new K behavior, if its moved to I. Press to insert no questions asked, hold to specify parts. I use that for example for viewport mode changes. Tap Z to go into Wireframe/Solid, hold Z to specify a mod. For those who use drag behavior its really nice, and for those who don't, I think we can also have pie menu on Shift I, that way they can use whether they want to key directly (I), or to specify (Shift-I) So in summary: **I** : *just key the thing (no questions asked)* **I (drag)** : *I specify which parts to key* **Shift + I** : *I specify which parts to key* As for the old menu, I know you're getting a bit slack about that, but I don't think its necessary, especially after keying sets are improved. That is similar situation as UI module had with accelerator keys. Some people are really used to something, but positive change can't be halted bacause of old habits. Especially when old menu is super easily recreatable in Python and free addons will exist from day 1.
First-time contributor

For those who want it to never ask, they can already do that by setting a default keying set. Conversely, if you make it always default to something without asking, then you've removed useful functionality.

So I'd say:

i = use keying set or ask (set a default keying set in the startup file to always key without asking)
alt i = ask (insert keyframe menu) so you can override keying set
long i = choose single loc/rot/scale from pie menu
long alt i = choose single visual loc/rot/scale from pie menu

This way everyone's happy and no functionality has been lost or forced on people.

maybe you could also have:

shift i = insert key using preferences defaults (but I don't really see any need to have a forced keying set in preferences when the existing design already allows people to do this from a default startup file that has the keying set populated in the timeline)

For those who want it to never ask, they can already do that by setting a default keying set. Conversely, if you make it always default to something without asking, then you've removed useful functionality. So I'd say: i = use keying set or ask (set a default keying set in the startup file to always key without asking) alt i = ask (insert keyframe menu) so you can override keying set long i = choose single loc/rot/scale from pie menu long alt i = choose single visual loc/rot/scale from pie menu This way everyone's happy and no functionality has been lost or forced on people. maybe you could also have: shift i = insert key using preferences defaults (but I don't really see any need to have a forced keying set in preferences when the existing design already allows people to do this from a default startup file that has the keying set populated in the timeline)
Author
Member

@ChrisLend see attached video

Setting the default file only works if you actually create the scene, which isn't always the case in a production environment.

So in summary:
I : just key the thing (no questions asked)
I (drag) : I specify which parts to key
Shift + I : I specify which parts to key

Shift + I is already taken, not sure if the hotkey is super useful but I don't want to touch it at this point.

Judging by the conversation, I think the following solution should work for everyone.

I always sets keys without asking. Either using the user preferences or the active keying set
I + drag pie menu to insert specific channels (since this is hidden behind a user preference, we cannot rely on it)
K new hotkey to always set a key using a keying set. It ignores any active keying set making it possible to use a keying set other than the one currently set in the scene.
Shift + K set the active keying set. This makes the feature more accessible

So in short, K will become the "Keying Set" hotkey allowing you to quickly insert a key using a keying set or change the active one.
I will always just insert keys without asking.

> @ChrisLend see attached video Setting the default file only works if you actually create the scene, which isn't always the case in a production environment. > So in summary: > I : just key the thing (no questions asked) > I (drag) : I specify which parts to key > Shift + I : I specify which parts to key Shift + I is already taken, not sure if the hotkey is super useful but I don't want to touch it at this point. Judging by the conversation, I think the following solution should work for everyone. `I` always sets keys without asking. Either using the user preferences or the active keying set `I + drag` pie menu to insert specific channels (since this is hidden behind a user preference, we cannot rely on it) `K` new hotkey to always set a key using a keying set. It ignores any active keying set making it possible to use a keying set other than the one currently set in the scene. `Shift + K` set the active keying set. This makes the feature more accessible So in short, `K` will become the "Keying Set" hotkey allowing you to quickly insert a key using a keying set or change the active one. `I` will always just insert keys without asking.
First-time contributor

so K will basically open the insert keyframe menu to override both the preferences and active keying set?

so K will basically open the insert keyframe menu to override both the preferences and active keying set?
First-time contributor

Once the K menu is open, could you have it create a keyframe and change the keying set by shift clicking the option? Then you wouldn't need a shift K shortcut.

Once the K menu is open, could you have it create a keyframe and change the keying set by shift clicking the option? Then you wouldn't need a shift K shortcut.
Christoph Lendenfeld added 1 commit 2023-12-08 16:54:38 +01:00
buildbot/vexp-code-patch-lint Build done. Details
buildbot/vexp-code-patch-darwin-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-arm64 Build done. Details
buildbot/vexp-code-patch-linux-x86_64 Build done. Details
buildbot/vexp-code-patch-windows-amd64 Build done. Details
buildbot/vexp-code-patch-coordinator Build done. Details
70f00b2e1f
make K the keying set hotkey
Author
Member

so K will basically open the insert keyframe menu to override both the preferences and active keying set?

Yes, I will make a build so you can try it. Might take a few hours

Once the K menu is open, could you have it create a keyframe and change the keying set by shift clicking the option?

I don't think blender supports that. At least I am not aware of any area in blender where shift clicking a menu entry produces a different result.

@blender-bot package

> so K will basically open the insert keyframe menu to override both the preferences and active keying set? Yes, I will make a build so you can try it. Might take a few hours > Once the K menu is open, could you have it create a keyframe and change the keying set by shift clicking the option? I don't think blender supports that. At least I am not aware of any area in blender where shift clicking a menu entry produces a different result. @blender-bot package
Member

Package build started. Download here when ready.

Package build started. [Download here](https://builder.blender.org/download/patch/PR115798) when ready.
First-time contributor

I don't think blender supports that. At least I am not aware of any area in blender where shift clicking a menu entry produces a different result.

Oh too bad. I thought the menus might just be modals where you could react to events differently.

> I don't think blender supports that. At least I am not aware of any area in blender where shift clicking a menu entry produces a different result. Oh too bad. I thought the menus might just be modals where you could react to events differently.
Contributor

so K will basically open the insert keyframe menu to override both the preferences and active keying set?

Yes, I will make a build so you can try it. Might take a few hours

Once the K menu is open, could you have it create a keyframe and change the keying set by shift clicking the option?

I don't think blender supports that. At least I am not aware of any area in blender where shift clicking a menu entry produces a different result.

@blender-bot package

Oh yeah it does, I use that in my addons. You can use event.shift, but I think you'll need to add that for every operator that is in the menu, or do some creative function

> > so K will basically open the insert keyframe menu to override both the preferences and active keying set? > > Yes, I will make a build so you can try it. Might take a few hours > > > Once the K menu is open, could you have it create a keyframe and change the keying set by shift clicking the option? > > I don't think blender supports that. At least I am not aware of any area in blender where shift clicking a menu entry produces a different result. > > @blender-bot package Oh yeah it does, I use that in my addons. You can use event.shift, but I think you'll need to add that for every operator that is in the menu, or do some creative function
First-time contributor

I didn't check the name of the functions, but something like this to shift click inside menus:

def modal(self,context,event):
        
        if event.type in ('RIGHTMOUSE','ESCAPE') :
            return {'CANCELLED'}
        
        elif event.type == 'SHIFT' and event.value == 'PRESS':            
            if not self.shift_is_down:
                self.shift_is_down = True            
            return {'RUNNING_MODAL'}
        
        elif event.type == 'SHIFT' and event.value == 'RELEASE':
            self.shift_is_down = False
            return {'RUNNING_MODAL'}
        
        elif event.type == 'LEFTMOUSE' and event.value == 'RELEASE':            
            if self.shift_is_down:
                set_keying_set()
            insert_keyframe()
            return {'FINISHED'}
        else:
            return {'RUNNING_MODAL'}
I didn't check the name of the functions, but something like this to shift click inside menus: ``` def modal(self,context,event): if event.type in ('RIGHTMOUSE','ESCAPE') : return {'CANCELLED'} elif event.type == 'SHIFT' and event.value == 'PRESS': if not self.shift_is_down: self.shift_is_down = True return {'RUNNING_MODAL'} elif event.type == 'SHIFT' and event.value == 'RELEASE': self.shift_is_down = False return {'RUNNING_MODAL'} elif event.type == 'LEFTMOUSE' and event.value == 'RELEASE': if self.shift_is_down: set_keying_set() insert_keyframe() return {'FINISHED'} else: return {'RUNNING_MODAL'} ```
Author
Member

@3di the keying set popup is implemented in C++

but anyway, the concept of Shift clicking a menu item to get a different result doesn't really exist in blender yet. I'd like to avoid doing this right now since it would mean a lot of design work with the UI team. Additionally adding another hotkey is quite discoverable.

That doesn't mean it should stop you from implementing this functionality within an addon.

Let me know if you had a chance to test the new build: https://builder.blender.org/download/patch/PR115798/

@3di the keying set popup is implemented in C++ but anyway, the concept of Shift clicking a menu item to get a different result doesn't really exist in blender yet. I'd like to avoid doing this right now since it would mean a lot of design work with the UI team. Additionally adding another hotkey is quite discoverable. That doesn't mean it should stop you from implementing this functionality within an addon. Let me know if you had a chance to test the new build: https://builder.blender.org/download/patch/PR115798/
First-time contributor

yep tested it, it was still the i key that was bringing up the insert keyframe menu, and the k key was keyframing. I mean to me I'm not too fussed providing I can still get the old behaviour, because if ever I want the new behaviour, I'll just set loc,rot,scale as the active keying set. I'm still a bit baffled why all these extra shortcuts are needed for functionality that was already there in a much more convenient place than the preferences menu. But yeah, it's working.

yep tested it, it was still the i key that was bringing up the insert keyframe menu, and the k key was keyframing. I mean to me I'm not too fussed providing I can still get the old behaviour, because if ever I want the new behaviour, I'll just set loc,rot,scale as the active keying set. I'm still a bit baffled why all these extra shortcuts are needed for functionality that was already there in a much more convenient place than the preferences menu. But yeah, it's working.
Author
Member

yep tested it, it was still the i key that was bringing up the insert keyframe menu, and the k key was keyframing

it must have been an old build. new one should have that switched with K bringing up the menu.
But if you are happy with that I will advance that PR next week and bring it to code review

> yep tested it, it was still the i key that was bringing up the insert keyframe menu, and the k key was keyframing it must have been an old build. new one should have that switched with `K` bringing up the menu. But if you are happy with that I will advance that PR next week and bring it to code review
First-time contributor

Just a though, would a 'modified only' option for keying sets be useful? For example you would set the keying set to loc, rot, scale, & properties, but if you also ticked the 'modified only' option, and modified just the scale, only a scale keyframe would be inserted.

Just a though, would a 'modified only' option for keying sets be useful? For example you would set the keying set to loc, rot, scale, & properties, but if you also ticked the 'modified only' option, and modified just the scale, only a scale keyframe would be inserted.
Author
Member

Just a though, would a 'modified only' option for keying sets be useful? For example you would set the keying set to loc, rot, scale, & properties, but if you also ticked the 'modified only' option, and modified just the scale, only a scale keyframe would be inserted.

This is what the "Insert Needed" user preference does. Or what it will do in 4.1 when it has been improved

> Just a though, would a 'modified only' option for keying sets be useful? For example you would set the keying set to loc, rot, scale, & properties, but if you also ticked the 'modified only' option, and modified just the scale, only a scale keyframe would be inserted. This is what the "Insert Needed" user preference does. Or what it will do in 4.1 when it has been improved
Christoph Lendenfeld added 2 commits 2023-12-12 10:22:14 +01:00
Christoph Lendenfeld changed title from WIP: Anim: Add pie menu for adding keyframes to Anim: Add pie menu for adding keyframes 2023-12-12 10:22:54 +01:00
Christoph Lendenfeld changed title from Anim: Add pie menu for adding keyframes to Anim: Add hotkey for keying set operators 2023-12-12 10:25:03 +01:00
First-time contributor

Personally I often times add LocRot keyframes and I think it would make sense to have LocRot in the top left diagonal of the pie (between Location and Rotation) and RotScale between rotation and scale.

Personally I often times add LocRot keyframes and I think it would make sense to have LocRot in the top left diagonal of the pie (between Location and Rotation) and RotScale between rotation and scale.
Contributor

I have tested and its very good. Especially with status bar telling you what you keyframed. K menu still seems redundant to me but its alright, at least you cant misclick it, since it doesnt insert automatically.

Couple of bugs(?) that I caught:

  • When you dont have object selected and try to do K or Shift-K, it gives error "No suitable context info for active keying set", it took me a while to figure out what was going on. Better error message would be nice

  • "Active Keying Set" operator in the K menu doesn't work and gives Keying set '__ACTIVE__' not found error

  • If you already have keying set Shift-K shows "Active Keying Set" operator that shouldn't be there, and if you choose it it clears your keying set.

General Feedback:

  • I couldn't find an use for "All" operator in I menu, since it does exactly the same as tapping I (We can make a case that some users might change preferences and it becomes different, but realistically I don't think that's gonna happen a lot). But I found myself constantly pressing K for "Available". Switching between I and K becomes confusing and you pause to think which one you need to press. It would be more comfortable I think if instead of "All", pie menu showed "Available", since its very widely used option.

  • K menu is bit messy. There should be more order to it. It should be - Single choices first, double choices after that and finally choice for everything. So instead of

-- Location & Rotation
-- Location & Rotation & Scale
-- Location & Rotation & Scale & Custom Properties
-- Location & Scale
-- Rotation & Scale

It should be:

-- Location & Rotation
-- Location & Scale
-- Rotation & Scale
-- Location & Rotation & Scale
-- Location & Rotation & Scale & Custom Properties

Same logic for Visual transforms

P.S. Wasn't "Whole Character" was removed?

I have tested and its very good. Especially with status bar telling you what you keyframed. K menu still seems redundant to me but its alright, at least you cant misclick it, since it doesnt insert automatically. Couple of bugs(?) that I caught: - When you dont have object selected and try to do K or Shift-K, it gives error `"No suitable context info for active keying set"`, it took me a while to figure out what was going on. Better error message would be nice - "Active Keying Set" operator in the K menu doesn't work and gives `Keying set '__ACTIVE__' not found` error - If you already have keying set Shift-K shows "Active Keying Set" operator that shouldn't be there, and if you choose it it clears your keying set. General Feedback: - I couldn't find an use for "All" operator in I menu, since it does exactly the same as tapping I (We can make a case that some users might change preferences and it becomes different, but realistically I don't think that's gonna happen a lot). But I found myself constantly pressing K for "Available". Switching between I and K becomes confusing and you pause to think which one you need to press. It would be more comfortable I think if instead of "All", pie menu showed "Available", since its very widely used option. - K menu is bit messy. There should be more order to it. It should be - Single choices first, double choices after that and finally choice for everything. So instead of > -- Location & Rotation > -- Location & Rotation & Scale > -- Location & Rotation & Scale & Custom Properties > -- Location & Scale > -- Rotation & Scale It should be: > -- Location & Rotation > -- Location & Scale > -- Rotation & Scale > -- Location & Rotation & Scale > -- Location & Rotation & Scale & Custom Properties Same logic for Visual transforms P.S. Wasn't "Whole Character" was removed?
Contributor

Idea:

Wouldn't it be good if K menu displayed all user-made Keying sets whether they're selected or not?
That way you could make couple of different keying sets for different properties, and key them easily with K menu, without needing to switch between active keying sets.

I know its not an existing workflow now, but thinking about it, it can be a very fast workflow.

For examply, doing Shape Key animations I can have keying sets for all mouth shape keys & all eye/brow shape keys, and quickly key each of them with K menu as a banch.

Idea: Wouldn't it be good if K menu displayed all user-made Keying sets whether they're selected or not? That way you could make couple of different keying sets for different properties, and key them easily with K menu, without needing to switch between active keying sets. I know its not an existing workflow now, but thinking about it, it can be a very fast workflow. For examply, doing Shape Key animations I can have keying sets for all mouth shape keys & all eye/brow shape keys, and quickly key each of them with K menu as a banch.
First-time contributor

when you press k to bring up the keying set menu. Will selecting one of the options insert a key like it did before with the i key?

Also, I often switch between visual and non visual keying. For example I'll key rotation, then key visual location in quick succession. Will I be able to specify which I want to use from the 'i' pie menu without diving into the preferences between adding keyframes, or would I be better to continue working as previously via the K menu instead?

when you press k to bring up the keying set menu. Will selecting one of the options insert a key like it did before with the i key? Also, I often switch between visual and non visual keying. For example I'll key rotation, then key visual location in quick succession. Will I be able to specify which I want to use from the 'i' pie menu without diving into the preferences between adding keyframes, or would I be better to continue working as previously via the K menu instead?
Contributor

when you press k to bring up the keying set menu. Will selecting one of the options insert a key like it did before with the i key?

K key is exactly same as I was, so however you worked with I before will work on K.
Except even if you have active keying set, K menu still shows you all options. Automatic keyframing for Keying Set is on I now

> when you press k to bring up the keying set menu. Will selecting one of the options insert a key like it did before with the i key? K key is exactly same as I was, so however you worked with I before will work on K. Except even if you have active keying set, K menu still shows you all options. Automatic keyframing for Keying Set is on I now
First-time contributor

got you. So i will insert keyframe, using the keying set specified, or preferences if not. K will always show the keyframe menu and insert a keyframe, shift k will allow to change the keying set without adding a keyframe...or will shift K also add a keyframe?

got you. So i will insert keyframe, using the keying set specified, or preferences if not. K will always show the keyframe menu and insert a keyframe, shift k will allow to change the keying set without adding a keyframe...or will shift K also add a keyframe?
Contributor

No you have it right. Shift K is choosing active keying set only.

No you have it right. Shift K is choosing active keying set only.
First-time contributor

thanks.

thanks.
Christoph Lendenfeld added 2 commits 2023-12-14 09:44:17 +01:00
buildbot/vexp-code-patch-lint Build done. Details
buildbot/vexp-code-patch-darwin-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-arm64 Build done. Details
buildbot/vexp-code-patch-linux-x86_64 Build done. Details
buildbot/vexp-code-patch-windows-amd64 Build done. Details
buildbot/vexp-code-patch-coordinator Build done. Details
e16c3c06eb
change pie all to available
Author
Member
  • When you dont have object selected and try to do K or Shift-K, it gives error "No suitable context info for active keying set", it took me a while to figure out what was going on. Better error message would be nice

That I cannot reproduce.

  • "Active Keying Set" operator in the K menu doesn't work and gives Keying set '__ACTIVE__' not found error

Can reproduce, thanks. Will fix.

  • If you already have keying set Shift-K shows "Active Keying Set" operator that shouldn't be there, and if you choose it it clears your keying set.

Thanks, wasn't aware. The functionality is useful, I think it just needs a label fix.

It would be more comfortable I think if instead of "All", pie menu showed "Available", since its very widely used option.

Yep good idea. Changed it to "Available"

  • K menu is bit messy. There should be more order to it. It should be - Single choices first, double choices after that and finally choice for everything.

Good idea, and maybe a few divider lines. Will note down for a different PR.

P.S. Wasn't "Whole Character" was removed?

No, I'd like to remove it, but it still has a use.

Wouldn't it be good if K menu displayed all user-made Keying sets whether they're selected or not?

It does not? In my testing it does show custom keying sets as well.

> - When you dont have object selected and try to do K or Shift-K, it gives error `"No suitable context info for active keying set"`, it took me a while to figure out what was going on. Better error message would be nice That I cannot reproduce. > - "Active Keying Set" operator in the K menu doesn't work and gives `Keying set '__ACTIVE__' not found` error Can reproduce, thanks. Will fix. > - If you already have keying set Shift-K shows "Active Keying Set" operator that shouldn't be there, and if you choose it it clears your keying set. Thanks, wasn't aware. The functionality is useful, I think it just needs a label fix. > It would be more comfortable I think if instead of "All", pie menu showed "Available", since its very widely used option. Yep good idea. Changed it to "Available" > - K menu is bit messy. There should be more order to it. It should be - Single choices first, double choices after that and finally choice for everything. Good idea, and maybe a few divider lines. Will note down for a different PR. > P.S. Wasn't "Whole Character" was removed? No, I'd like to remove it, but it still has a use. > Wouldn't it be good if K menu displayed all user-made Keying sets whether they're selected or not? It does not? In my testing it does show custom keying sets as well.
Contributor

Yeah next time I'll check if feature exists before suggesting it 🤦‍♂️

Breaks would be very helpful indeed.

Besides that, after Available and bug fixes I don't see how this can be improved any more. I'm loving this, great job!

Yeah next time I'll check if feature exists before suggesting it 🤦‍♂️ Breaks would be very helpful indeed. Besides that, after Available and bug fixes I don't see how this can be improved any more. I'm loving this, great job!
First-time contributor

I have one suggestion for imrovement. when clicking an option on the shift K menu, have it also insert a keyframe. Otherwise the user has to change the keyset, then press i to insert the keyframe. If you're changing the active keying set, then it's because you want to insert a keyframe, so might as well just do it in one go?

I have one suggestion for imrovement. when clicking an option on the shift K menu, have it also insert a keyframe. Otherwise the user has to change the keyset, then press i to insert the keyframe. If you're changing the active keying set, then it's because you want to insert a keyframe, so might as well just do it in one go?
Author
Member

I have one suggestion for imrovement. when clicking an option on the shift K menu, have it also insert a keyframe. Otherwise the user has to change the keyset, then press i to insert the keyframe. If you're changing the active keying set, then it's because you want to insert a keyframe, so might as well just do it in one go?

I don't think this is a safe assumption to make. For example you can use a keying set for auto-keying, in which case you might not want a keyframe right away.
Better to keep the concepts separate

> I have one suggestion for imrovement. when clicking an option on the shift K menu, have it also insert a keyframe. Otherwise the user has to change the keyset, then press i to insert the keyframe. If you're changing the active keying set, then it's because you want to insert a keyframe, so might as well just do it in one go? I don't think this is a safe assumption to make. For example you can use a keying set for auto-keying, in which case you might not want a keyframe right away. Better to keep the concepts separate
First-time contributor

good point, didn't consider that 👍

good point, didn't consider that 👍
Christoph Lendenfeld added this to the Animation & Rigging project 2023-12-19 09:40:37 +01:00

I have tested and its very good. Especially with status bar telling you what you keyframed.

I noticed that this doesn't happen yet for the short I press; that just silently creates the keys. Might be worth exploring to 'info' that into the status bar as well. Maybe it gets too noisy, but maybe it's worth it to have these things consistent.

I think overall this PR is doing the right thing. Maybe before we move to actual code review, we should get some more feedback from other animators though? I like that motion graphics animation was mentioned, we could ask some more mograph folks for feedback.

> I have tested and its very good. Especially with status bar telling you what you keyframed. I noticed that this doesn't happen yet for the short `I` press; that just silently creates the keys. Might be worth exploring to 'info' that into the status bar as well. Maybe it gets too noisy, but maybe it's worth it to have these things consistent. I think overall this PR is doing the right thing. Maybe before we move to actual code review, we should get some more feedback from other animators though? I like that motion graphics animation was mentioned, we could ask some more mograph folks for feedback.
Author
Member

@blender-bot package

@blender-bot package
Member

Package build started. Download here when ready.

Package build started. [Download here](https://builder.blender.org/download/patch/PR115798) when ready.
Christoph Lendenfeld added 1 commit 2024-01-04 14:01:53 +01:00
First-time contributor

I was asked to add my two cents here. Generally the change is pretty minor in my workflow, although I wanted to see if something could be added to the preferences.
I have quite a few use cases in motion graphics where I might animate something on a single axis, and it has always baffled me that "Only Insert Available" is an option just for automatic keyframing.

With "Insert Available" now moved to a different menu, it would be great to have the "Only Insert Available" option in the preferences also for regular keying actions. The amount of times I've hit "I" on properties in a panel that already has a key for a single axis and have then had undo because it keyframed all of the grouped properties together even though only one of them is animated is crazy.

I was asked to add my two cents here. Generally the change is pretty minor in my workflow, although I wanted to see if something could be added to the preferences. I have quite a few use cases in motion graphics where I might animate something on a single axis, and it has always baffled me that "Only Insert Available" is an option just for automatic keyframing. With "Insert Available" now moved to a different menu, it would be great to have the "Only Insert Available" option in the preferences also for regular keying actions. The amount of times I've hit "I" on properties in a panel that already has a key for a single axis and have then had undo because it keyframed all of the grouped properties together even though only one of them is animated is crazy.
Contributor

@Mantissa that addition would be good too but in the meantime you might wanna do this shortcuts I assigned for same problem.

image

I have them on tilda (on top of tab), I have disabled All, so I can add keyframe and remove (not clear, as Alt I does) on single entry instead of all three.

@Mantissa that addition would be good too but in the meantime you might wanna do this shortcuts I assigned for same problem. ![image](/attachments/789ad278-2e43-4f53-a2b9-6f68be816509) I have them on tilda (on top of tab), I have disabled All, so I can add keyframe and remove (not clear, as Alt I does) on single entry instead of all three.
Author
Member

I have quite a few use cases in motion graphics where I might animate something on a single axis, and it has always baffled me that "Only Insert Available" is an option just for automatic keyframing.

Thanks, added to the list. Shouldn't be hard to add

> I have quite a few use cases in motion graphics where I might animate something on a single axis, and it has always baffled me that "Only Insert Available" is an option just for automatic keyframing. Thanks, added to the list. Shouldn't be hard to add
Sybren A. Stüvel approved these changes 2024-01-16 10:26:57 +01:00
Sybren A. Stüvel left a comment
Member

Looks good to me!

Looks good to me!
Christoph Lendenfeld merged commit 87fc8e8ddd into main 2024-01-25 14:46:16 +01:00
Christoph Lendenfeld deleted branch insert_key_pie_menu 2024-01-25 14:46:18 +01:00
Member

I'm one of the bunch that don't find the user preferences the right place for keying settings. So I guess this is a step in the right direction.

Gotta say I like @3di idea here: #115798 (comment)

I'm one of the bunch that don't find the user preferences the right place for keying settings. So I guess this is a step in the right direction. Gotta say I like @3di idea here: https://projects.blender.org/blender/blender/pulls/115798#issuecomment-1080736
First-time contributor

I think the argument against keeping the current workflow as shown in that video, was that animators often receive files from other people who may not have set the keying set on the timeline (so their own blend file defaults wouldn't be used). So rather than the recipient of that file having to change it to their preferred default in the timeline, they could have a constant default in the preferences to save them a few seconds visiting the timeline. It did make me wonder though, if people are receiving so many files with no keying set specified, perhaps that indicates that a lot of people don't want one.

It's no issue though, the old insert keyframe menu will still be available, just via the K key instead of the I key. So everyone should be happy....although I expect a bit of a fuss surrounding keymap changes as it always results in apocalyptic fury 😄

My only initial concern was being forced to always use a default if I'd elected not to choose for the purpose of being asked.

I think the argument against keeping the current workflow as shown in that video, was that animators often receive files from other people who may not have set the keying set on the timeline (so their own blend file defaults wouldn't be used). So rather than the recipient of that file having to change it to their preferred default in the timeline, they could have a constant default in the preferences to save them a few seconds visiting the timeline. It did make me wonder though, if people are receiving so many files with no keying set specified, perhaps that indicates that a lot of people don't want one. It's no issue though, the old insert keyframe menu will still be available, just via the K key instead of the I key. So everyone should be happy....although I expect a bit of a fuss surrounding keymap changes as it always results in apocalyptic fury 😄 My only initial concern was being forced to always use a default if I'd elected not to choose for the purpose of being asked.
Author
Member

I kind of agree that the user preferences are not an ideal place.
But what that gives us is persistent settings stored per user and not per file.
Ideally we'd have persistent user settings in the GUI, close to where they are used. I plan to propose that for the 4.2 release cycle but until then the user preferences are the next best thing

I kind of agree that the user preferences are not an ideal place. But what that gives us is persistent settings stored per user and not per file. Ideally we'd have persistent user settings in the GUI, close to where they are used. I plan to propose that for the 4.2 release cycle but until then the user preferences are the next best thing
Member

Sounds good.

@dr.sybren next time I think Beorn would have a better input than me since he's an animator 👌🏻

Sounds good. @dr.sybren next time I think Beorn would have a better input than me since he's an animator 👌🏻
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 Assignees
11 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#115798
No description provided.