"Only Insert Needed" option in conjunction with keying set causes "Unable to Keyframe" warning message #73773

Closed
opened 2020-02-13 09:00:16 +01:00 by Jimmy Gunawan · 26 comments

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: c939b4df18
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

#73773-keyframe-needed-error-msg.blend

  • 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.

**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: `c939b4df18` 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** [#73773-keyframe-needed-error-msg.blend](https://archive.blender.org/developer/F8345244/T73773-keyframe-needed-error-msg.blend) - 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.
Author

Added subscriber: @BlenderSushiGuy

Added subscriber: @BlenderSushiGuy

#86374 was marked as duplicate of this issue

#86374 was marked as duplicate of this issue

#76467 was marked as duplicate of this issue

#76467 was marked as duplicate of this issue
Member

Added subscriber: @ankitm

Added subscriber: @ankitm
Member
Adding steps in text would be preferable :) https://blender.stackexchange.com/questions/16531/keying-set-failed-to-insert-any-keyframes https://docs.blender.org/manual/en/dev/animation/keyframes/keying_sets.html
Author

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?

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?
Author

Here should be more clear, I make another video and comparing older version and newer 2.82 beta:
https://youtu.be/mL2DwBedCdo

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

Here should be more clear, I make another video and comparing older version and newer 2.82 beta: https://youtu.be/mL2DwBedCdo The bug is that you can't add in between keyframe, if there is no changes in transform.
Member

2.83 seems to be fine with this. I hit {key I} and keyframes are added without making changes in viewport, only scrubbing in timeline .. please get it from here: https://builder.blender.org
image.png

2.83 seems to be fine with this. I hit {key I} and keyframes are added without making changes in viewport, only scrubbing in timeline .. please get it from here: https://builder.blender.org ![image.png](https://archive.blender.org/developer/F8337793/image.png)
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

Changed status from 'Needs Triage' to: 'Needs User Info'

Changed status from 'Needs Triage' to: 'Needs User Info'
Member

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

Do you have `Only Insert Needed` turned ON by any chance? ![image.png](https://archive.blender.org/developer/F8338000/image.png)
Member

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.

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.
Author

Screen Shot 2020-02-14 at 1.22.59 pm.png

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

![Screen Shot 2020-02-14 at 1.22.59 pm.png](https://archive.blender.org/developer/F8338782/Screen_Shot_2020-02-14_at_1.22.59_pm.png) Hmm... yeah I have that option "only insert needed" turned on. Not very intuitive and causes headache for animators.

Added subscriber: @dr.sybren

Added subscriber: @dr.sybren

Changed status from 'Needs User Info' to: 'Archived'

Changed status from 'Needs User Info' to: 'Archived'
Sybren A. Stüvel self-assigned this 2020-02-17 16:31:33 +01:00

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.

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](https://wiki.blender.org/wiki/User:Sybren/Code_Quality_Day_ideas). 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 changed title 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 2020-02-17 16:35:43 +01:00
Member

Added subscriber: @LucianoMunoz

Added subscriber: @LucianoMunoz

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

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

Changed status from 'Archived' to: 'Confirmed'

Changed status from 'Archived' to: 'Confirmed'
Sybren A. Stüvel removed their assignment 2020-05-22 16:38:33 +02:00

Added subscriber: @krzysztof.szrama

Added subscriber: @krzysztof.szrama

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.

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.
Member

Added subscriber: @rocketman

Added subscriber: @rocketman

I think part of the problem is that insert only needed should not manual keying if it works only for keyssetby the autokey system, then problem solved.

I think part of the problem is that insert only needed should not manual keying if it works only for keyssetby the autokey system, then problem solved.

Added subscriber: @Ethanicus

Added subscriber: @Ethanicus

Just chiming in to agree with what's been said above. I hate that when I rotate or move an object I get a frame in every channel, but I still do want to be able to manually add frames to all channels at once. I think the options should be separated or something instead.

Just chiming in to agree with what's been said above. I hate that when I rotate or move an object I get a frame in every channel, but I still do want to be able to manually add frames to all channels at once. I think the options should be separated or something instead.

Added subscriber: @Branskugel

Added subscriber: @Branskugel
Philipp Oeser removed the
Interest
Animation & Rigging
label 2023-02-09 14:36:15 +01:00
Blender Bot added
Status
Resolved
and removed
Status
Confirmed
labels 2024-01-19 16:26:22 +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
10 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#73773
No description provided.