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

Graphics - General

-

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

  1. 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

Comments (5)

  1. legrandcolin

    Jan 31, 2020 11:08

    hey Unity dev team ! please guys have a look into this correctives blendshapes issue

  2. Palleschi

    Oct 01, 2019 20:17

  3. 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.

  4. 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.

  5. 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

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.