Search Issue Tracker
Not Reproducible
Votes
0
Found in
5.4.1f1
Issue ID
836300
Regression
No
[Skinned Mesh Renderer]Adding bones through a script during runtime corrupts the currently rendered mesh
Steps to reproduce:
1. Download and open attached project
2. Press play
3. Observe as the cube mesh gets corrupted
Note: Once this is done, the mesh(in this case "cube") stays corrupted until you relaunch the project.
Note: Adding a skinned mesh renderer of the same mesh after running will also add a corrupted mesh.
Steps to recreate on a new gameobject with a different mesh:
1. Create a new gameobject of a currently not corrupted mesh (ex. sphere)
2. Add Skinned Mesh Renderer component
3. Remove default Mesh Renderer component
4. Add the User's mesh corrupt script to gameobject
5. Press play
6. Observe as the rendered mesh gets corrupted - Added a video in last edit
Note: User's script is based on https://docs.unity3d.com/ScriptReference/Mesh-bindposes.html, except it is modified to to add bones on a created object,rather than a new one.
Expected result: bones are added normally
Actual result: mesh gets corrupted
Reproduced on 5.2.3f1, 5.3.6f1 5.4.1f1, 5.4.1p3, 5.5.0b5
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- VFX Graph Documentation dropdown button does nothing when clicked on the right side
- Required SpriteMask class (ID 331) is stripped when "Strip Engine Code" is enabled
- “Maximized serialized file backup not found” error is thrown when minimizing a window in a newly opened project
- Build stack trace contains invalid lines when building with IL2CPP using scripts with delegates containing generic types in the signature
- Entities Systems window has a “Show Full Player Loop” dropdown which does nothing when clicked after enabling “Show Full Player Loop”
Resolution Note (2019.1.X):
Fixed, but "Bones do not match bindposes" error persists. This can be fixed by resetting the object to its original bindposes in OnDestroy()