Search Issue Tracker
By Design
Votes
8
Found in
5.6.0f3
Issue ID
904829
Regression
No
Blendshape normal deltas are applied at wrong time in normal calculation process
Wireframe mode shows that the surface of the mesh is completely smooth, yet when in shaded mode it looks as if it is warped. This visual artifact is caused by offseting the joint and then using the blend shapes in SkinnedMeshRenderer to move the mesh back to it's position before the joint offset.
To reproduce:
1. Open the project, attached by tester (BadNormals.zip)
2. Open "Normals" scene if not open
3. Observe the "BadNormalsMesh" game object in wireframe mode
4. Observe the "BadNormalsMesh" game object in shaded mode
Expected: mesh normals are correctly calculated when the joint is moved and blend shapes of the mesh are used
Actual: moving the joint and using blend shapes causes smooth surface look warped
Reproduced in 5.4.5p1, 5.5.3p2, 5.6.0f3, 2017.1.0b2
-
legrandcolin
Jan 31, 2020 11:08
hey Unity dev team ! please guys have a look into this correctives blendshapes issue
-
Palleschi
Oct 01, 2019 20:17
This isn't fixed. See thread https://forum.unity.com/threads/blendshape-normal-error.752033/
-
chengkeng1987
May 15, 2019 05:05
Has it been solved yet?
Has it been solved yet?
Even if I set the blend shape normals to "calculate" there is no improvement at all. -
jimrankenberg
May 01, 2019 15:02
Even small corrections completely twist the normals so that it looks like a hole and makes corrective blendshapes completely useless.
-
ykantbobreed
Apr 01, 2019 19:38
This is a huge issue for me and my team as well, and has become the limiting factor in using Unity. All the effort we put into getting good character controllers working in the software may go out the window because Unity is still so bad at dealing with corrective blendshapes. I think we have to just start over with Unreal now, which sucks because I preferred the Unity interface. Luckily we're just in RnD stages, so we're not totally hosed, but if Unity doesn't figure out how to nail this down, I'm out.
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
- Articulation Body with 'Revolute' Joint Type has erratic behavior when Upper Limit is set to above 360
- WebGL Player fails to render Scene when Terrain with Detail Mesh is added and WebGPU Graphics API is used
- Inconsistent errors are logged when different types are passed into the Query "Q<>" method in UIToolkit and the ancestor VisualElement is null
- Crash on GetMaterialPropertyByIndex when opening a specific Scene
- Discrepancies in the styling are present when using a TSS file instead of a USS file in custom EditorWindow
Resolution Note:
The import option for the normals in the FBX file is set to Calculate. This means that Unity recalculates the normals for the model and blendshapes during import. This does not mean that the normals are recalculated when a blendshape is applied. The normals for the corrective blendshapes are also recalculated against the base mesh. Thereby causing the observed artifacts. Changing the import option for normals from 'Calculate' to 'Import' results in the expected behavior. As the imported normals for the corrective blendshape are calculated in the external tool against the mesh it is supposed to correct. More information on the import settings can be found in the docs: https://docs.unity3d.com/2020.1/Documentation/Manual/FBXImporter-Model.html