Page MenuHome

Keying set failed to set keyframes
Closed, ResolvedPublic

Description

System Information
Operating system: Windows 10
Graphics card: GTX 1050ti

Blender Version
Broken: 2.9

Short description of error
Fails to insert the desired keyframe and give the aforementioned error.
Exact steps for others to reproduce the error
I pressed tab on the NarutoCrying track in Naruto Root and moved the location of bones around 13+03 and insert the keyframe. I am presented with that error.
As far as I have tested other actions should work fine.

Event Timeline

Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Confirmed.Nov 2 2020, 10:17 AM

Can confirm the behavior.

First note: blender complains specifically with

Could not insert keyframe due to zero NLA influence or base value

This might even be correct, will need some more investigation.

Sybren A. Stüvel (sybren) changed the task status from Confirmed to Needs Information from User.Nov 2 2020, 4:23 PM

Broken: 2.9

There is no 2.9, only 2.09 and 2.90. I'll assume this is about Blender 2.90.

Please test this with a few older versions of Blender. Knowing whether a bug was recently introduced or has been in Blender for longer will help developers in finding the root cause of the issue.

The example file is quite complex and even has multiple windows open. This is not a minimal example file that's suitable for a quick investigation by developers.

Yes, blender 2.90, I will give a new report tomorrow with minimal .blend file

Okay, so I tested different things and tried to resolve the bug/ error. I think the main problem may not be the error, since the error was valid in one sense although I feel it should have stated the problem directly.
I think the error is reproducible and not specific to my PC.

Here is the minimal blend file:

@Philipp Oeser (lichtwerk) correctly described the issue although maybe in more technical language.
The error arises because in NLA strip the keyframe range of the Action is between a certain range x to y(y being greater than x) when we try to add a keyframe at frame z such that z<x or z>y, one gets the error message.
Keying set failed to insert keyframes, Now, a longtime user might be able to recognise this error and take action accordingly but for someone just learning blender, he may be lost and confused.
Whether blender should allow insertion of keyframes outside the region NLA of NLA track is up for debate and maybe more experienced blender animators can answer it more rigorously,
But my take is that it should allow insertion of keyframes since the NLA editor is a method for mild editing of action for use in the overall structure of bringing together all the actions and using them to produce a unified animation and as such actions are/should be independent of the NLA strip.
So the panel Strip->Action Clip-> Frame start and end


-as the blender doc(https://docs.blender.org/manual/en/latest/editors/nla/properties_modifiers.html#strip) suggests -are to specify how much of the strip is to be used in the NLA editor.
It seems to me that this is definitely a bug since blender in edit/tweak mode we are editing the action as we see fit and later we can choose how many frames we want to use via the Frame start and end of action Clip. There could be some anti-thesis that I am unaware of.

Tested in
Blender 2.83 LTS: Error Found
Blender 2.90: Error found
Blender 2.90.1: Error Found
Thanks for your time.

when we try to add a keyframe at frame z such that z<x or z>y, one gets the error message.

This should not be the case since "The NLA system now evaluates the strip based on the action bounds if it's flagged for syncing"
https://wiki.blender.org/wiki/Reference/Release_Notes/2.91/Animation-Rigging
rB89ee260ef22e: Fix T63675: Keying outside NLA strip not possible

In your case, this is already working fine for the Sea_laying_02 Sea_laying_01.001 strips, but "fails" for NarutoCrying, NarutoShocked, finger movement, NarutoSadLaying:
Turns out the reason for this is that the "failing" strips dont have Sync Length turned ON:

If I turn this ON, then I can key outside the strip bounds, can you confirm this works for you?

@Sybren A. Stüvel (sybren): Is there a reason why this is not always ON (cannot think of one atm. tbh)

But even with sync on if I tab to enter in tweak mode of action strip, and try to enter a keyframe out of bounds in NaurtoCrying animation I still cannot enter a keyframe at 314th (for example)frame.

While in tweak action mode there is no option to SYNC NOW.

Steps to reproduce:
Select the NLA strip(NArutoCrying)-> Press TAB-> try to enter keyframe out of bounds of the NLA strip even after selecting Sync length. the error is reproduced.

Philipp Oeser (lichtwerk) changed the task status from Needs Information from User to Needs Triage.Nov 6 2020, 8:19 PM

The sync-keyframing behavior was introduced in 2.91, not 2.90.1.

Steps to reproduce:
Select the NLA strip(NArutoCrying)-> Press TAB-> try to enter keyframe out of bounds of the NLA strip even after selecting Sync length. the error is reproduced.

I can't reproduce the problem with these steps, using Blender 2.91 beta (rBada79b4707edc859a961). With Sync Length=ON, I can set a keyframe outside the strip bounds just fine.

@Sybren A. Stüvel (sybren): Is there a reason why this is not always ON (cannot think of one atm. tbh)

It is on by default for stashed strips (rBdbb2b29beab4: Action Stashing: Newly stashed strips now get "sync length" option enabled by…) but not for pushed-down strips. This was apparently chosen by Joshua (rB9b1ce6e55608: NLA SoC: Part 1 of NLA-Data Management API, search for "(XXX) synchronisation of strip-length"), but not very strongly, as he writes "this decision is still subject to further review".

I think that, with @Wayde Moss (GuiltyGhost) 's recent improvements to how Sync Length works, it's now safe to enable by default. @Wayde Moss (GuiltyGhost) what do you think?

I think it would be fine to be enabled by default.

Sybren A. Stüvel (sybren) changed the task status from Needs Triage to Needs Information from User.Nov 27 2020, 12:45 PM

@Suvidh khasgiwala (Lovely_Bigga) can you give this another test with Blender 2.91, to see if it's still an issue? As I said earlier, I can't reproduce the issue myself.

Sorry for the late response.
Yes, with sync length ON I am able to set keyframes in Blender 2.91.
Hurray!

Sybren A. Stüvel (sybren) claimed this task.

Since the issue has been confirmed in the past, and can't be reproduced any more, I'll mark it as resolved.