It is possible to chamfer any mesh inside the shader by using world position, this world position can then also be used for the normal simply by transforming it from world to tangent space. But the problem is how can I make use of the normal map texture without it being completely wrong and is that even possible?
This is basically range clamped world position with a box mesh:
I then use that for world position offset by multiplying where the edges are, so where 2 directions are located. I then do that with a different multiply for the edge points, so where 3 directions are. With some use of Power I can chamfer it pretty smoothly. Here is it with the world position range transformed to tangent and plugged into the normal of the material:
With trying to get any normal map texture working with it I’m getting nowhere. I tried all kinds of combinations with rotate vector and also using the vertex normal WS node but the result either has the normal map in it but is less rounder or it is fully rounded but the normal map looks only slightly applied. Is there anything else I can try? If it would require a height map to get working right that would be no problem to generate. Smoothing groups edges might be a problem that can not be solved, any normal map working with the chamfer offset would be already great.
The goal would be to get something complex like this working with the chamfer offset: