Felipe Vimeney - a Brazilian artist born and raised in Rio de Janeiro - has taken the time to share his tips for optimising your Substance Painter project to truly make sure it's not only fast, but perfectly setup.

Preparing the mesh

  • It’s highly recommended that you have a low-poly and a high-poly version of your mesh, so you’ll have less or none issues during the baking process;
  • Usually is a good idea creating a separate file for each low-poly and high-poly version to apply the naming convention for a proper baking operation;
  • An easy way to name the meshes inside Maya is using the Modify > Search and Replace Names;
  • On the field Search for type $ so it will look into all meshes in your scene;
  • On the field Replace With type _low on the low-poly file and _high on the high-poly file and apply the naming convention.

Exporting the mesh

When exporting meshes from Maya, I usually prefer to use FBX format to work with Substance, as I had less problems in comparison with OBJ and ABC.

  • On the export window in the Geometry tab check the following checkboxes:
  • Smoothing Groups
  • Tangents and Binormals
  • Smooth Mesh
  • Selection Sets

I usually disable all other tabs like animations, camera, lights, …. In the end of the list make sure to select FBX 2014/2015 version.

This is the recommended version as it holds well the smoothing group information on the exported FBX file. It is also a recommendation when using FBX files with Mari to properly load the selection sets.

Baking the maps

Step 1:

  • Start a new project with default PBR – Metallic Roughness (allegorithmic);
  • Select the mesh file (OBJ, ABC or FBX);
  • Check Create a texture set per UDIM tile if you're working with UDIMs;
  • Select the desired Document Resolution to help you export the baked maps on the correct resolution;
  • Disable Compute tangent space per fragment as we exported the FBX with the tangents and binormals included on the file.

Step 2:

  • Go to the Texture Set Settings and find the Bake Mesh Maps button;
  • On the Baking Window make sure to choose the desired Output Size, usually the same resolution size chosen in the New Project Window;
  • If you’re not using ID materials, you can disable ID on the left side list;
  • On the High Definition Meshes click on the document icon to navigate to your's high-poly mesh path and select it for the baking process;
  • Scroll down until the Match field and select By Mesh Name. It will use the naming convention _low and _high to match each piece and bake the maps isolating meshes avoiding problematic collisions from topped parts.

Click on Bake all textures sets and go grab a coffee :)

Step 3:

  • It’s now time to export the baked maps. Go to File > Export Textures
  • On the Export Window make sure to:
  • Select the path where Substance must save the baked maps;
  • Select the .PNG 16bit format;
  • On Config field select the Mesh Maps template;
  • Finally check the document size for all UDIMs.

To save even further space you can save certain maps at 8bit.

  • Normal = 16bits
  • World Space Normals = 16bits
  • ID = 8bits (if you don't have too much different colors)
  • Curvature = 16bits
  • Ambient Occlusion = 8bits
  • Position = 16bits
  • Thickness = 8bits

The Mesh Maps template exports all baked maps with the proper naming convention and it’ll be fundamental for the next and last step.

Step 4:

  • Go to File > New to start a new project;
  • On the New project window now you need to check the following:
  • On File select the low-poly version;
  • Check Create a texture set per UDIM tile if working with UDIMs;
  • Select the proper Document Resolution for your project;
  • Disable Compute tangent space per fragment;
  • On the Import mesh normal maps and baked maps for all materials click on Add button, navigate to your baked maps folder and select them all.

You’ll now have a Substance Project file, grabbing all baked maps from disk and auto-assigned to your shaders and with no cache embedded in the project file making it much lighter.

Note: During basic tests using this work-around I could get a project file size 70% lighter in comparison with the project using the baked maps embed.

There is also some really good documentation on the Substance site for optimising projects - 'Projects are really big'.

Thank you all for reaching the end of the article and I hope that it helps you on having a better workflow and that you have learned something new.