Open WRtux opened 1 year ago
Find that selecting "remove doubles" when importing model can get most of the normals right, but the problem still exists at some points.
Thank you for the report! :grinning:
Can you share the .pmx
file with me to reproduce the problem?
I'm afraid I can't because the author disallows that. But you can find and download it here.
@WRtux
I adjusted the settings on import to work around the problem.
I will look into the difference in behavior with and without Remove Doubles
some more.
https://github.com/UuuNyaa/blender_mmd_tools/assets/70152495/3da6cd0b-c01e-4caf-9cb2-04087e0b8908
I tried importing a MMD model that has some sharp edges (mainly on the hair), and it looks weird.![Preview](https://github.com/UuuNyaa/blender_mmd_tools/assets/34528883/4721fe0e-8aba-4705-9308-578ce0437444)
It seems that the normals of the vertices on sharp edges are arbitrarily selected, instead of using the ones at the right side. And the affected surfaces will flash when adjusting the model. Moreover, re-calculating normals does not make sense and affects surfaces not selected. Maybe the internal data is corrupt.![Corrupt normals](https://github.com/UuuNyaa/blender_mmd_tools/assets/34528883/c2f0bebc-bce6-4942-a7cb-0a73a6b7bc2d)
The problem may sound like #181 in powroupi/blender_mmd_tools, but I've checked it in PMX Editor and there are no invalid normals, only sharp edges that are valid and better to be kept.![PMX Editor](https://github.com/UuuNyaa/blender_mmd_tools/assets/34528883/38ed2761-f7d5-465b-a4f3-0f07e7ab7ec1)
I have tried importing the model on both Blender 3.5.1 and 3.3 LTS and the problem persists. I believe this is the addon's problem, as importing the OBJ file converted from the model works well. I guess the addon may have wrongly treated the vertices at one place as the same.
Model imported from OBJ file:
![OBJ](https://github.com/UuuNyaa/blender_mmd_tools/assets/34528883/471906a8-6ba6-4af9-a621-e98d232e4ead)
The points on sharp edges are just multiple vertices with the same position and different normal vectors.