Pose missing when relative path library override is changed and relinked on some characters #97954
Reference in New Issue
Block a user
Delete Branch "%!s()"
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?
System Information
Operating system: Windows 10
Graphics card: RX 480 8G
CPU: i5 6400
Blender Version
Broken: blender-3.2.0-beta+daily.1b566b70c163
Pose missing when relative path library override is changed and relinked on some characters
Exact steps for others to reproduce the error
Save character in asset browser as a collection
Link character in work file
Use library override to pose the character (No keyframes are made yet)
Save work file
Change work file directory
Relink character
Pose is missing
Added subscriber: @Hannah-Umit
Added subscriber: @mont29
Changed status from 'Needs Triage' to: 'Archived'
Unfortunately there is no bug here, there is simply no way to preserve this information in that case. What happens is this:
So when the library goes missing, so does the Armature obdata, and the (override) local Armature object has to update itself to a zero-bones armature, deleting all pose information stored in its posebones.
When animated, situation is different, since the values are stored in fcurves in the animation, which do support being invalid (i.e. affecting non-existent data), so in that case animated pose can survive the loss of library.
The only way to not lose data here would be to not save the working file, go fix the library so that it is available again at the exact same path as previously, and then re-open the main working file.
NOTE: this is a fairly annoying limitation of current armature object design, which is becoming very problematic nowadays with library overrides... I will add a warning in the documentation about it. Addressing the root of the issue should be part of a complete redesign of the Armature object data structure.