Download

smoth corners - round edges on materials

Hi all,
I am beginner in UE4. Is there any function in material editor to do smooth - round edges on materials? I mean similar function in some 3d renders, for example - Vray has vrayedge material, where user can control the size of roundness and it generates smooth corners for all objects which have that material. It only works well with small radius and I am looking for exact same in UE4.
I can’t imagine, that I will have to bake for all object normal maps with smooth edges in 3DS max for example.
The reason for this is that I am trying to do real-time architectural visualization test and there is a lot of furniture. Practically all furniture has little smooth edges.

Thanks Tomas.

It might be possible to do, but there isn’t anything like that at the moment. You’d probably need to know more about shaders to figure out how to do it on your own.

Sadly, the most rational, easy, and functional way to have round edges on models is to have it in the mesh. Game engines don’t work like offline renderers in most cases like this. The only way to have your existing Static Mesh smooth out sharp corners exactly how you want is to make a Displacement map for each object and then tessellate it in the material, which can get a little tricky (not to mention expensive for performance). https://docs.unrealengine.com/latest/INT/Resources/ContentExamples/MaterialNodes/1_12/index.html

For this workflow, you would need to create a smooth, hi-poly copy of every piece of furniture and then bake the displacement map. You may also be able to bake a tangent normal map to give the illusion of a rounded corner, but that is hard to get working perfectly. For best results, you would go in and smooth out the meshes by hand before putting them into UE4. I could be wrong, but I don’t think there is anything that can detect edges and tessellate them by itself.

I was looking for the same thing. I think the easiest way is to bevel the corners in the high poly mesh and bake that into the normal map.

For me, this was important because I am doing some low poly furniture assets and I don’t want to have to do the high poly version just for round corners. A way around this is to add a bevel modifier and bake the normal from that. This way you “generate” a high poly mesh but in it you also have the low poly mesh. If you want to obtain the low poly, you just remove the modifiers.

I feel that this is much needed to speed up production of secondary objects like chairs or tables. Sometimes you don’t have the time to bake from high poly and a simple material that defines only the amount of smoothness would be a god-send to remove those low poly hard edges . I lack the knowledge to write it but it seems quite similar to a normal mapped material performance-wise.

From the Vray documentation

Enable Round Edges - enables the round edges effect which uses bump mapping to smooth out the edges of the geometry during render time.
Radius - specify a radius (in world units) for the round edges effect. Since the actual geometry is not being changed and only the normals of the faces are affected large values here may produce undesirable effects.

I’m playing around inside the material editor to see what I can do with a curvature map. I really hope that the dev team realizes how many guys coming from the arch industry and indie community may find this helpful!

If someone is interested I just saw this video about what we are trying to achieve here but in Substance Designer.
He basically take the world space vertex color, blurs the result and convert it in tangent space. I wonder if this is possible in UE4 or if what I just wrote makes any sense…

Hello everyone,

I am also trying to do the same thing.
it will be great to be able to chamfer on any mesh by simply applying a shader in unreal engine.
I did some research and I read about post:

Finally, have you found a solution?

Mathieu

Hello,
Have you found a solution yet?
i’m trying to do the exact same thing, but with no luck at all.
Would really appreciate sharing your solution if you’ve found one.