Page MenuHome

"Only Insert Needed" option in conjunction with keying set causes "Unable to Keyframe" warning message
Confirmed, NormalPublicKNOWN ISSUE


System Information
Operating system: Darwin-19.4.0-x86_64-i386-64bit 64 Bits
Graphics card: AMD Radeon Pro 555 OpenGL Engine ATI Technologies Inc. 4.1 ATI-3.8.14

Blender Version
Broken: version: 2.82 (sub 6), branch: master, commit date: 2020-02-11 14:45, hash: rBc939b4df18e9
Worked: Blender 2.81 before 2.82

Short description of error
With "Only Insert Needed" enabled in the user preferences, adding a key that's not needed causes a "Keying set failed to insert any keyframes" warning

Exact steps for others to reproduce the error

  • Open the attached blend file.
  • Enable "Only Insert Needed" in User Preferences → Animation.
  • Insert a keyframe between the already-existing keyframes.
  • See a warning message.

The warning seems to imply something went wrong, even though the Only Insert Needed option did exactly what was expected of it.

Event Timeline

Step by steps:

  1. Keyframe Suzanne head within timeline with I key.
  2. All should be good, now we want to keyframe it but by using the Keying - Active Keying Set
  3. Now try using I key and adding in between keyframes... (by scrubbing only, and not making any changes to the transform)...
  4. Alas, it is no longer possible!
  5. If I do go inbetween keyframe within time line, and make changes, then hit I key, it works :p

Weird right?

Here should be more clear, I make another video and comparing older version and newer 2.82 beta:

The bug is that you can't add in between keyframe, if there is no changes in transform.

Ankit Meel (ankitm) updated the task description. (Show Details)EditedFeb 13 2020, 1:52 PM

2.83 seems to be fine with this. I hit I and keyframes are added without making changes in viewport, only scrubbing in timeline .. please get it from here:

Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Needs Information from User.Feb 13 2020, 4:40 PM

Do you have Only Insert Needed turned ON by any chance?

The whole messaging of ANIM_apply_keyingset in conjunction with insert_keyframe, insert_keyframe_XXX could be a bit more descriptive here I guess, but if it is the case that Only Insert Needed is turned ON, it looks like it is working correctly, it just shouldnt give a warning like that.

Hmm... yeah I have that option "only insert needed" turned on. Not very intuitive and causes headache for animators.

Sybren A. Stüvel (sybren) claimed this task.
Sybren A. Stüvel (sybren) changed the subtype of this task from "Report" to "Known Issue".

The root cause of this is the boolean return value of insert_keyframe_value() (and family), which means that it can only return "success" or "failure". To improve this situation I would extend this to include some "keyframe not inserted but that is fine" status. This requires refactoring quite a bit of code, which I'd be happy to do on a Code Quality Day. I've added a note to remind me of this.

This is a limitation of the current design of Blender, and not a bug in its implementation. As such I'll close this as Known Issue.

Sybren A. Stüvel (sybren) renamed this task from Unable to Keyframe bug is more often appears... to "Only Insert Needed" option in conjunction with keying set causes "Unable to Keyframe" warning message.Feb 17 2020, 4:35 PM
Sybren A. Stüvel (sybren) updated the task description. (Show Details)

this is still a big issue, any way we can get it higher up priority?

Sybren A. Stüvel (sybren) reopened this task as Confirmed.May 19 2020, 4:28 PM

I just made an account to write about this issue. Without "only insert needed" when I rotate object I get keys on all transforms - position, scale etc, which can mess up quite a lot of curves especially if you don't animate pose-to-pose.

On the other hand, with "only insert needed' I can't insert frames to divide animations, or just add key on all objects if needed.

It would suffice if I could just add "Only insert.." to quick favorites, to switch when I need to without opening preferences.