Keying sets other than Whole Character (or keyframing in general) do not respect channel locks #97886
Operating system: macOS Monterey 12.3.1
Graphics card: MacBook Air (M1, 2020)
cc66d1020c, master, 2022-03-31
Short description of error
Keying sets (other than Whole Character) do not respect channel locking. Whole Character is the only keying set that respects channel locking, which is surprising, unexpected, and undocumented behavior. This is actually a big pain point when it comes to animating complex rigs.
Exact steps for others to reproduce the error
- Create a new Blender file with the General template.
- Make the default Cube object the active object.
- In Object Properties, lock the Cube object’s rotation channels.
- Create a new keyframe using the Location, Rotation & Scale keying set.
- Note that the rotation channels have been keyed, despite being locked.
NOTE: the tooltip for locking says "lock editing when transforming" (so if we decide to respect locking in general keframing, this would need to be adjusted)
Changed status from 'Needs Triage' to: 'Needs Developer To Reproduce'
Thanks for the report. Can see keyframe for locked properties are added in the dopesheet.
Locked properties are still editable from panel so keyframe addition is still possible.
Keying sets (other than Whole Character) do not respect channel locking
If there's inconsistency between different options then that maybe a bug.
@dr.sybren , can you check?
It certainly is inconsistent with other keyframing in blender, but I actually think this
Whole Character keyingset is kind of special, see the commit message from
If we would want all Keying Sets to respect locking (which would be a problem to implement in
keyingsets_utils.py, would we want to respect locking for "regular" keying (without a special keyingset) as well?
In the interest of clean actions, keying locked channels doesn't make much sense to me.
It just adds extra unnecessary channels to the action, gives the user more junk to sort through in the anim editors and also affects viewport performance by giving the depsgraph more to chew on
Also, it's intuitive that if a channel is locked, it won't be keyed.
putting this as a known issue
It is on track to be tackled here though: #113278: Anim: Keyframing Rework
No due date set.
No dependencies set.
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?