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:
Looks fine enough, but if I view it in the timeline or the NLA, there is suddenly a new keyframe on frame 38:
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 if frame > max_frame: max_fcurve = fcurve max_frame = frame print(max_fcurve.data_path) print(max_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:
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.