Search Issue Tracker

Duplicate

Votes

25

Found in

5.6.1f1

Issue ID

959519

Regression

No

Blendshapes do not update normal directions

Asset Importers

-

Imported normals/tangents in meshes with blendshapes do not update when the mesh is blended, resulting in bent normal directions. If using calculated normals/tangents, normals are updated, but meshes don't respect "hard edges" aka it is unusable with component-based character meshes where you separate pieces of the character and have the border edges locked to match between meshes.

How to reproduce:
1. Download attached project file and open "testcube" Scene
2. Enter Play Mode

Actual result: In Play Mode, you can observe two meshes animated by moving blendshape values. The imported mesh's normals remain facing the same direction, resulting in an animated cube that is lighted wrong. The calculated mesh's normals are updated as the model is animated by blendshapes, but it is not possible to use this solution with organic models.

Expected result: Unity would allow either calculated normals with respect of edge border normals or allow calculating normals on specific areas only (determined with something, e.g. texture, or vertex colors), or normal directions would just be adjusted based on movement in blendshapes (as it works in 3D modeling softwares)

Reproduced with: 5.6.1f1, 5.6.4f1, 2017.1.2p1, 2017.2.0f3, 2017.3.0b5

Comments (7)

  1. 5deb5bf54ab27d1f1bd6ac84f34838af?d=mm

    SpencerHill3DArtist

    Aug 02, 2019 13:43

    Yeah... no, this is not solved.
    Any mesh with authored normals AND blendshapes has broken normals when viewed in Unity...

  2. 441f6ec61da5c07bee8e8c97b74e02fe?d=mm

    chengkeng1987

    May 14, 2019 18:50

    How is the issue solved in 2019.1?

  3. 0023406f8097bf740bb03691df3c807e?d=mm

    ykantbobreed

    Apr 01, 2019 19:34

    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, and I think we have to just start over with Unreal now. Luckily we're just in RnD stages, so we're not totally hosed.

  4. 7b411c981aa4026f6d294631f53bdaa3?d=mm

    Riverm4n

    Dec 18, 2018 05:57

    I believe the same issues are present in the skinned mesh renderer. Moving bones in unity does not update the normals on the mesh correctly.

  5. 037b2cb32b6c3c31661240cd36f550bb?d=mm

    preferivoUnreal

    Jul 06, 2018 16:18

    don't know if it's the same issue, but the same problem comes when creating blend shapes on assets that must have authored normals, and therefore needs import normals and tangent to be true; if corrective bs are needed, now we are forced to work with full smoothed normals on geometry (and import hairs as a separate asset for exemple)

  6. F871d2a8290b170f8ebf64df5ca14517?d=mm

    dnl_decarlo

    Mar 23, 2018 16:08

    I really need this to be fix. i spent weeks in creating corrective blendshapes, but still unity lit some vertex very bad.

  7. F1b3c204a104fd44718e144560e66e82?d=mm

    hedgehog90

    Nov 23, 2017 11:28

    I have just encountered this issue.
    Please fix.

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.