Fix ImporterMesh bone weight handling during lightmap unwrap #81854
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When unwrapping surfaces for lightmaps we need to update the format flag depending on if we use 0, 4 or 8 influences. Previously this was not done and afterwards the code read invalid memory in some cases (for example seeing invalid bone indices like 545021568 in the bug report).
After this patch, the cube import works. The cube does look pretty busted, but as it is just a test model it might be intentional and bones still seem to affect it correctly when moved. And removing the skeleton influence makes it look like a normal cube. I don't have access to the original model, so @QbieShay might be able to test this more.
Also, I spotted another weird thing with the test project. Simply repeatedly selecting between the Cube mesh node and then another node causes errors and the top UI toolbar keeps growing and adds what looks like a vertical separator every time you do this: