WIP: FBX: Fix #84111: AssertionError importing shapekeys #104910
No reviewers
Labels
No Label
Interest
Animation & Rigging
Interest
Blender Cloud
Interest
Collada
Interest
Core
Interest
Documentation
Interest
Eevee & Viewport
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
Import and Export
Interest
Modeling
Interest
Modifiers
Interest
Nodes & Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds, Tests & Devices
Interest
Python API
Interest
Rendering & Cycles
Interest
Sculpt, Paint & Texture
Interest
Translations
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Meta
Good First Issue
Meta
Papercut
Module
Add-ons (BF-Blender)
Module
Add-ons (Community)
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender-addons#104910
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "ktdfly/blender-addons:main"
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?
In the bugreport an example file creates millions of duplicated shapekeys. This change avoids it by storing only unique keys in a dictionary.
FBX: Fix #104909: AssertionError importing shapekeysto FBX: Fix #84111: AssertionError importing shapekeysFrom my limited understanding of the situation patch looks good, thanks!
I'd rather let @Mysteryem check on it though, since they've been working extensively in FBX refactors lately, and afaik are already aware of that issue (see #104698)?
Also, please fill in proper commit message and PR description (commit message is even empty, besides the title?).
There are two separate changes in this patch, one that prevents importing duplicate shape keys from crappy Unreal exported FBX files with duplicate connections and one that attempts to avoid the AssertionError when importing FBX with in-between shapes. I think these changes should be separate PRs. Notably, the PR description is about one issue and the PR title is about the other.
Preventing import of duplicate shape keys
I think this is something we could do, but I think it should be noted in a comment that duplicate connections causing the same shape keys to be imported many times is not something we expect from FBX files. Perhaps linking back to the #104909 issue that has a .fbx from Unreal that has this issue.
Avoiding AssertionError when FBX has in-between shapes
I don't think it's a good idea to ignore the extra shapes assigned to each imported shape key without at least some warning of data loss. I would rather see the issue of handling in-between shapes be discussed at #104698 and either a temporary or full solution be decided on there, especially because the issue is more complicated due to it also affecting how Blender imports/exports shape key vertex groups.
3a6f098668
to39b507610d
I think that to properly fix this issue we'll need to:
blen_read_shapes
.All of these steps combined should result in any 'in-between shapes'/'progressive blend' BlendShapeChannels importing all their Shapes as separate Shape Keys. I think it might be a good idea to also include the name of the BlendShapeChannel in the name of these Shape Keys to make it clear they belong together, ending up as something like
f"{channel_name}|{shape_name}"
.I can work on this if you want.
To me it's not clear if untangling this is worth the time, since such files seem to be produced only by Unreal, and the result is going to be exactly the same (channels refer to same shapekeys), but @Mysteryem if you can write the patch that would parse this with correct assumptions, that would be terrific. Same is #104939.
I'll mark both PRs as WIP, and when you post your PRs, I'll retract mine. Ping @mont29
FBX: Fix #84111: AssertionError importing shapekeysto WIP: FBX: Fix #84111: AssertionError importing shapekeysI've merged !104956 into
main
which fixes this specific case of Unreal exported FBX resulting in the same error as #84111. Thank you for your report and patience.Pull request closed