As I was looking at the artwork by Tor Frick (an artist who greatly inspires me), I came across a blog post for his UE4 cockpit cinematic, in which he explained how he achieved a rounded edge really quickly in his normal map bakes. The software he uses (MODO) has a shader which creates a pseudo-rounded edge effect by ray-tracing a rounded normal from the geometry and outputting into the material normal map. These parameters can be tweaked in real-time and adjusted to exaggerate or diminish the effect. When baked, the rounded edge shader's normals will be picked up and added to the baked normal map.
As I can't afford MODO, I had to think of another way I could bake the shader's normals to the normal map for texturing. Normally, I would be able to add a chamfer to the geometry and bake from a high-poly surface however I found this to be impractical for smaller or more complex areas of detail. After looking around on forums I had heard about a bevel node that had been added in an experimental build of Blender 2.79. This is exactly what I needed to achieve the same rounded-edge effect for my assets and increase the efficiency of my workflow.
First, I create and unwrap the model in 3DSmax and export to Blender in .obj format. For this I used the default cube in Blender. I then apply a new material and add the bevel node to the material normal input as shown here:
When baking the normals, I set the space to tangent and inverted the Y channel to make sure it is the same mode as DirectX. The baked normals can then be used in Substance to texture or directly to UE4. Here is an example of them being used on a model in Substance to create edge wear.
I will adopt this technique for more of my assets because it allows me to add smooth edge details to areas of the model where chamfers would be difficult to insert, without having to create a high-poly model for. This could also be used in conjunction with boolean-modelling to speed up the process even more.
Comments