Tutorial – Rounded Baking

Introduction

When transferring from a high poly mesh to a low poly mesh to generate maps like normal maps or ambient occlusion, we have to choose what direction to trace outwards from the low poly.  We have previously offered two options, surface normals and geometry normals.  These each have benefits and drawbacks. Some artists will bake both and then composite them together to provide a superior normal map.  We want to provide an automated solution that does as good or better. We will use the following simple low poly object (provided by @malcolm from the polycount.com forums) with lots of hard edges and high contrast features.

Screenshot 2016-02-14 14.54.26

Surface Normals use the vertex normals from the object.  This means that the user can harden edges to provide normals that are directly perpendicular to the surface, which minimizes distortion for that face.  The problem with surface normals, is that close to hard edges, the normals become different from the connected faces, causing seams.

Screenshot 2016-02-14 14.42.59As seen to the left, you can see that at the corner and the edge, there is a seem created, but the squares on top are still square.

 

 

 

 

Screenshot 2016-02-14 14.55.47

 

The deep recesses on the large pyramid in the centre is nicely captured on the flat surface.

 

 

 

 

 

Geometry Normals use computed normals based on the low poly, creating a seamless projection.  This means that there is no seam at normals, but there is distortion across polygons next to hard edges.

Screenshot 2016-02-14 14.46.37

 

As seen to the left, using geometry normals has cleaned up the edge, but has introduced distortion across the flat face.  What we want is to use surface normals for the flat parts and geometry normals near the edge.  This is where we introduce Rounded Normals.

 

 

Screenshot 2016-02-14 14.58.09

While the seems have been eliminated, there is serious distortion on the details and the deep recesses on the pyramid using geometry normals.

 

 

 

 

 

Rounded Normals is a new feature in MightyBake which tries to provide a superior projection.  You turn it on by changing the direction of projection and providing a distance to round your edges.

Screenshot 2016-02-14 14.49.52

The rounding is a world space distance to round your edges.  We default to 1.0.  Below is is the model above using rounded normals.

Screenshot 2016-02-14 14.52.34

 

Here, we use rounded normals to provide a smooth edge, while providing low distortion to the top level of the surface. You will have to experiment with the rounding distance to find the best overall for your model.

 

 

 

Screenshot 2016-02-14 14.59.56

 

With rounded normals, the details are not skewed and the deep recess in the pyramid are nicely captured.  The edges are round and have no seems.

 

 

 

 

To achieve these result, you must harden the edges where you want flatter projection and leave the edges soft where you want smooth projections.  MightyBake will automatically round any hard edge using the distance you provide in the projection for any map you bake while you are using ‘Rounded Normals’ for your direction.  This means it will work not just for normal maps, but for ambient occlusion, vertex colours, etc.

 

Low to Low Baking

You can use the same option to perform rounding on your low to low bakes.  For example, here is a normal map on the low poly baked by turning off the high poly.

Screenshot 2016-02-14 15.22.08

This is the base model with only its surface normals. It was baked by turning off the high poly version and baking a low-to-low normal map.

 

 

 

Screenshot 2016-02-14 15.19.33

This was the same low to low bake, using rounded normals to add a bevel to every hard edge. This used a width of 0.5 to add a bevel to all the hard edges automatically.