Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3.x] Fix Blendshapes exploding on skinned Mesh replacement #47992

Closed

Conversation

smix8
Copy link
Contributor

@smix8 smix8 commented Apr 18, 2021

Fixes #37854

Previously when a MeshInstance Mesh with Blendshapes was loaded or replaced on an animated Skeleton at runtime it could cause an unrepairable Mesh explosion on the next frame up to an entire (VisualServer) crash under bad circumstances.

Now when a Mesh is set or replaced any available Blendshape on the new Mesh is reset to default blendvalues AFTER updating Skin and Material Surfaces.

Issue was that only Skeleton Skins and Material Surfaces were updated on Mesh changes. Existing old blendvalues for the MeshInstance on the VisualServer could set the new Mesh off to a corrupted blending state.

In my tests all Blendshape related runtime loading and replacement crashes in Godot 3.x are 100% gone with this change (... and they hunted all my projects for months if not years now).

Godot 4.x had similar issues a few months back when blendshapes were first added back in. I have no blendshape test setup rightnow that runs on Godot 4.x and will keep it in mind for later.

Fix Blendshapes exploding on skinned Mesh replacement
@smix8 smix8 requested a review from a team as a code owner April 18, 2021 01:49
@Calinou Calinou added this to the 3.4 milestone Apr 18, 2021
@smix8 smix8 closed this Oct 13, 2021
@smix8 smix8 deleted the issue_37854_blendshape_explosion branch December 15, 2022 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants