Search Unity

Normals dont seem to update with bone movement

Discussion in 'Animation' started by Riverm4n, Dec 18, 2018.

  1. Riverm4n

    Riverm4n

    Joined:
    Apr 17, 2017
    Posts:
    3
    Is there any way to fix this? Tried from unity 2018.2 and 2018.3 and I get the same issue.
    Used standard shader with no change.
    Even Tried lightweight render pipeline with the same thing.
    Some normals seem to animate ok but issue is really noticable on the cheeks in the screenshot.
    This is right after exporting from FBX blender to unity.

    skinnedmeshrenderer().sharedmesh.recalculatenormals() seems to recalculate against the base pose and I still get the same flat looking shading.
     

    Attached Files:

    • face.jpg
      face.jpg
      File size:
      148.2 KB
      Views:
      614
  2. Riverm4n

    Riverm4n

    Joined:
    Apr 17, 2017
    Posts:
    3
    Update. Adding a cloth component seems to get the normals to update properly but I dont want to waste resources doing cloth calcs on a mesh that doesnt need it :(
     
  3. Riverm4n

    Riverm4n

    Joined:
    Apr 17, 2017
    Posts:
    3
  4. callen

    callen

    Joined:
    Dec 31, 2013
    Posts:
    33
    I'm stuck on the same issue and with the same results. So far I'm resorting to the script posted here:
    https://forum.unity.com/threads/deformed-geometry-shading-normals-wrong.347962/

    But this is likely even worse performance-wise than using the cloth component. Have you found a way to add cloth to your mesh without it deforming anything, to get the benefits of the normal calculation accuracy, without your face becoming a mushy goo?
     
  5. Graham-B

    Graham-B

    Joined:
    Feb 27, 2013
    Posts:
    331
    Also looking for a better solution. Wish we could see how exactly the cloth component accomplished this.
     
    Last edited: Sep 15, 2020