Search Issue Tracker
Blendshapes do not update normal directions
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
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- Custom Pass rendering offseted in build when modifying camera.rect
- Instanced meshes are not drawn at certain camera angles when Graphics.DrawMeshInstanced method is used
- Borders corners not properly rendered
- [WebGL] Texture is missing when Graphics.Blit() method is called for a second time in WebGL build
- Editor crashes when unlocking Inspector with PropertyInfo.SetValue function