I have potentially discovered a bug in Blender 3.0 (that's my working assumption at this point), though perhaps this is normal behavior and I'm just missing something.

I have an armature action, crawl_out that is roughly 10 frames long, at least as viewed in the action editor:

enter image description here

Looks fine enough, but if I view it in the timeline or the NLA, there is suddenly a new keyframe on frame 38:

enter image description here

If I try to select that summary keyframe and move it around, I cannot. It is stuck in place. Furthermore, there are no visible f-curves that have any keyframes on frame 38.

I did a bit of recon into the underlying data for the armature with this little script to see what was happening. The script finds the fcurve data path with the largest frame index and prints it out:

import bpy
from math import inf

action = bpy.data.actions['crawl_out']

max_frame = -inf
max_fcurve = None

for fcurve in action.fcurves:
    for keyframe_point in fcurve.keyframe_points:
        frame = keyframe_point.co[0]
        if frame > max_frame:
            max_fcurve = fcurve
            max_frame = frame


This script prints out the following:


Okay, so we have found the culprit! But, when I go to look to see if Forearm_R even has any keying on this action, it is not there. I grabbed the bone in pose mode and tried to just add a keyframe to create the f-curve for it (to see if maybe I can then go and delete the phantom keyframe), but then I get the following error:

enter image description here

I am at a bit of a loss as to how this has happened or how to fix it. Maybe someone knows something I don't.


1 Answer 1


Of course, as soon as I post this I have a brainwave and figure it out. The Forearm_R bone was on was on a hidden armature layer. Making that layer visible then made the Forearm_R bone visible in the action editor.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .