Search Issue Tracker
By Design
Votes
0
Found in
2017.1.1p3
Issue ID
969351
Regression
No
Imported model joints cause incorrect normals
Steps to reproduce:
1. Start a new project
2. Import user provided package
3. Open the test scene
4. Notice that the model with joints has normal issues on the upper eyelids
Expected result: Upper eyelids should display correct normals
Reproduced in: 2018.1.0a6, 2017.3.0b11, 2017.2.0p3, 2017.1.2p3, 5.6.4p3, 5.5.5p1
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
- Out-of-bounds memory access with multiple CanvasRenderers under a Canvas when using Mesh API
- Inspector tries to access file after it was deleted when the file was locked in Inspector window
- Changing Transform values in Search window Inspector loses focus while dragging and stopping mouse without releasing dragging action
- Saving changes on the dirty VFX Graph during the Play mode throws "The referenced script (Unknown) on this Behaviour is missing!" warnings
- VFX Graph Debug Info overlaps the "Initialize" block debug info by default
Resolution Note:
The model is set to calculate normals. These normals are computed in bindpose (when the eye lids are open). Because the eyes are open the triangles in this area is quite compressed. So I bet there are triangles there that are either degenerate or points some funny way. Thereby resulting in odd normals, without being visible because it gets occluded by other geometry.
When skinning is applied to open the eye lids the artifacts become visible. The skinning is a matrix multiplication so the normals are not fixed by this process. As noted none of the artifacts are observed when the model is imported with the eyes closed. In this state normal recalculation provides a much better result. Furthermore, any artifacts would occur when the eyes are open. In this state the eye lid geometry is hardly visible.
To summarize, in order to resolve the artifacts either put the model in a bindpose that makes recalculating normals easier or import the normals from the FBX. In the last case you have to make sure you authored the normals correctly in the DCC tool.