August 30th, 2018


Continuing on from my modelling process, I moved on to the texture painting process in Substance Painter. I not only chose this programme for its procedural, non-destructive, scalable workflow, but also so that I could try a separate Normal/Height Map painting process.

The hope was htta by painting height maps prior to the diffuse, metal, roughness passes and map baking, I could not only allude to greater surface detail and function in the model, but also have those new details recognised by the curvature and AO bakes to impact on the surface qualities of the overall texturing process.

  • Validity of Research 90%
  • Complexity of Content 80%

Above is a screengrab of the Normal Channel inside Substance Painter, following the Height Map Painting, Baking and Re-import.

Primary Practice


In order to FURTHER signify the core themes of ‘future-present’ and ‘accelerationist utilitarianism’,I wanted to add greater amounts of granular detail to the surface of objects, but without the need to change the mesh itself, which is both time consuming and very destructive.

To this end, I wanted to experiment with the idea of not simply painting surface details in the height/normal channels of the standar texturing process, but do it in such a way, that all of the procedural elements of the Substance software could be reastined. As it stands if your paint height details at the same time as diffuse, roughness and metal, normal details do appear, but they do not take on the properties of the procedural elements that are based on baked curvature, normal and AO information.

To remedy this, the painting process was treated as  a two part process – a separate working file for each – where height (only) was painted firstly, then exported as a Normal Texture map. This was then imported into a new instance of the project – with the source meshes – so that the normal/height information was projected immediately onto the naked mesh. If the internal bakes were then triggered at this point – with a new Normal Map bypassed – then these bakes would in theory base themselves not simply on the geometry, but also the Normal Map that came in with ti. This was in fact the case, and it meant that my painted height details also took on all of the procedural, dirt, wear and tear of the rest of the mesh.

Core findings

Using Alphas in the Height Map

By using custom Height Map Alpha Brushes – in this case, free from JROTools – you can not only allude to typology that is not inherent to the source mesh, but by baking this out as a Normal Map prior to baking other passes, you can then import into a new project, with the mesh as a Normal Map.

Roughness and Metal Maps see Normal detail, if normal map imported first

If you Bake the source maps inside of Substance Painter following the import of your custom Normal Map, the new bakes will base their parameters on this Normal. Hence, Curvature, Diffuse and AO maps will all conform to these new details.

Diffuse Channels will also conform to Normal Map

Diffuse Maps will also deform based on the bespoke Normal Map if it is imported with the model, prior to baking other maps.

The Curious Engine

My Professional Portfolio
Go There Now

Recent Posts

Here are some recent posts that I have written as part of the Digital Media Practice 3 project – ‘FUSE’