Creating export presets


Substance Painter allows you to create custom export presets for naming and configuring the textures to be exported.
Some default presets are already included in Substance Painter, but it is possible to create new presets.

The configuration tab of the export window is divided into three main parts:

  • Left: the Preset list, which allows you to choose which preset to edit as well as duplicate and rename.
  • Middle: the Output texture list, which lists the content of a selected preset and displays the naming convention and the channel packing options.
  • Right: the list of Channels and Converted textures available from Substance Painter, which can be used in an output texture.

Presets are saved on the disk as individual files and can be shared with any other user of Substance Painter.
These presets are located in the shelf under the folder "export-presets", which is located here:

  • Windows: C:\Users\*username*\Documents\Substance Painter\shelf\export-presets
  • Mac OS: Macintosh > Users > *username* > Documents > Substance Painter > shelf > export-presets

When a preset is used to export textures, the preset file is automatically included in the resources of the project.
This allows the sharing and/or moving of a project to an other computer while maintaining the presets for exporting the textures.
Only the last used preset is saved in the project. However if Substance Painter detects a preset that has the same name, the preset inside the project the will be marked as "Outdated" in the list.



Creating a preset

On the top of the preset list, there are three buttons:

  • Duplicate: duplicate an existing preset.
  • Remove: delete any selected preset.
  • Create: create a new and empty preset.

You can also double-click on a preset or right-click > rename to change the name of a preset.


Creating output maps

Once a preset is selected, it is possible to add new output maps using the dedicated buttons, which are available on the top/middle section of the window.

Once a map has been created, it is possible to name it and then drag and drop an input maps into one of the available channel slots.
During the drop, a menu will open asking which type of content is to be loaded in that slot.

The options range from RGB and individual channels, to the Alpha and the Grayscale conversion of the input.

Each time an input map is dragged and dropped, a random color will be generated. This provides a visual cue for the channels and the corresponding input map that is loaded.
The button will also indicate what is loaded into the slot:

  • Background color: indicates which input maps are loaded.
  • RGB bar: indicate that the R, G and B channels from the input map is loaded.
  • Red bar: indicate that the red channel from the input map is loaded.
  • Green bar : indicate that the green channel from the input map is loaded.
  • Blue bar: indicate that the blue channel from the input map is loaded.
  • Gray bar: indicate that the input map is loaded as a grayscale (either from an RGB to Grayscale conversion or because the input is already in grayscale).
  • Black/White line: indicate that the alpha channel from the input map is loaded. In Substance Painter the alpha from an input correspond to the total area painted.


Naming output maps

Some flags are available to automatically generate the name of the texture during the export process.

  • $mesh: name of the mesh file that was loaded in the project
  • $textureSet: name of the texture set
  • / (forward slash): folder separation

Example: cymourai.fbx with a texture set named "MaterialBase"
 - $mesh_$textureSet_BaseColor will generate cymourai_MaterialBase_BaseColor.png.
 - $mesh/$textureSet_BaseColor
will generate a folder named cymourai with a texture named MaterialBase_BaseColor.png inside of it.

Folders are automatically converted as groups in case the export format is set as PSD (Photoshop) file format.


Assigning channels to output maps

It is possible to leave some channels (of the output map) totally empty. In this case case a default color will be assigned.

If a slot refers to a channel that is not present in the Texture set during the export, a default color will also be generated.
This color changes depending on the channel which gives the best neutral value.
Example : If missing, the height channel will be generated with a default gray value.

There are two types of maps:

  • Input maps: direct channels that can be added in a texture set. Via the TextureSet settings panel.
  • Mesh maps: Textures present in the additional map slots of a Texture Set (baked textures).
  • Converted maps: virtual textures, those textures are generated during the export based on the channels present in the document.
    - Normal OpenGL/DirectX: Outputs a normal in the dedicated space by combining the normal from the additional maps, the height and the normal channel.
    Mixel AO: Combine the Ambient Occlusion addiitonal map with the Ambient Occlusion channel.
    - Diffuse: Diffuse color generated from the BaseColor and Metallic channels (metallic parts will be replaced with a black color).
    - Specular: Specular color generated from the BaseColor and Metallic channels.
    - Glossiness: Inverse of the roughness channel.
    Unity4 Diffuse: Diffuse color generated from the BaseColor to match Unity4 shaders.
    - Unity4 Gloss: Glossiness generated from the Roughness and Metallic channel to match Unity4 shaders.
    Reflection: Export a map where white indicate a dielectric materials and other colors for metallic materials
    1/ior: 1 divided by the ior value, ior is generated from the metallic map : 1.4 for dielectrics, 100 for metals (black color)
    Glossiness²: Square version of the glossiness channel (Glossiness * Glossiness)
    f0: Reflectance value at fresnel 0 (0.04 for dielectrics, 1.0 for metallic)