Hello,
I'm developing a tool to generate a normal map that softens the hard edges in Low Poly models without the need of a High Poly model.
This is one example:
Everything works fine when the soft surfaces are on their own UV islands as seen above. However, when I bake a model where the soft surfaces are attached on large complex uv islands, I see seams at the edges where the surfaces meet:
Detail:
My hunch is that OpenGL is filtering the texture, and the filtered normal is very different to what would be logical at that fragment. I can fix the texture baker or the fragment shader but I've ran out of ideas to test.
Does anybody know what is wrong, or have any ideas or suggestions?
Thank you very much in advance!
Replies
if you use smooth shading, you might get intk trouble once your normalmap gets compressed
Yes, you are right! Somehow the model I was using had the normals facing in wrong directions. Since my tool bakes a new normal map that softens the hard edges using the existing mesh normals, the new baked normals were pointing in wrong direction too!
This is how it looks now when I generate normal maps that softens the hard edges with a radius of 0.0, 1.0 and 2.0:
The name of this node is Mesh Soften Edges and it takes as input the low poly models and bakes a new normal that softens the hard edges. This normal map can be used as the base for sculpting your normal map, or it can be mixed with other normal maps.
I'm still working on this tool but it's almost ready... This is the first test for multiple models that share the same textures:
I will do a few more tests and release a new beta version this week!
Thanks for your interest!
I would really appreciate if you can give me feedback about this new node or PixaFlux in general! I'm planning to add a few more nodes and update the workflow to make it easier to sculpt normal maps.
I have also uploaded a video tutorial to YouTube:
https://youtu.be/G7-h3Teon5I
https://www.youtube.com/watch?v=2V3IRKya-AQ&t=687s
@pixaeiro This look very promising! Will def give it a try!