Export Textures for Substance Painter
This guide covers the Substance Painter destination on Export Texture and the matching source on Texture Folder. The files are written for Substance 3D Painter’s PBR Metallic Roughness workflow, in the DirectX normal convention Painter assumes for a map placed in a fill layer.
| Setting | Value |
|---|---|
| Destination | Substance Painter |
| Filename Template | {name}_{channel} |
| Normal Convention | DirectX |
Files written
Section titled “Files written”Shown for a set named oak_bark with all eight roles (how to read these tables). A set with fewer roles writes fewer files.
| File | What it holds | Container and depth | Encoding |
|---|---|---|---|
oak_bark_BaseColor.png | Base Color in RGB, and an alpha that is opaque unless the Opacity row sends the cutout here | PNG 8-bit | Color |
oak_bark_Normal.png | Normal | PNG 16-bit | Packed normal, DirectX |
oak_bark_Roughness.png | Roughness | PNG 16-bit | Linear data |
oak_bark_Metallic.png | Metallic | PNG 16-bit | Linear data |
oak_bark_Height.png | Height | PNG 16-bit, or EXR 16-bit (half) outside 0 to 1 | Linear data |
oak_bark_Opacity.png | Opacity | PNG 16-bit | Linear data |
oak_bark_Emissive.png | Emissive | PNG 8-bit | Color |
Nothing is packed.
Not written: Ambient Occlusion. This destination follows the separate metallic and roughness maps of Painter’s PBR Metallic Roughness template and declares no ambient occlusion row, so the panel reads Not written: Ambient Occlusion (Substance Painter has no slot for it). Click Add Map beside it to write oak_bark_ao.png as well. The Destination then reads Custom, which is correct, because the folder now carries one file more than the preset describes.
After export
Section titled “After export”- Place the maps in a fill layer. Painter reads a normal map used in a fill layer or a tool as DirectX, which is how this destination writes it. That reading does not follow Project Configuration > Normal Map Format, which governs baking, the viewport, and Painter’s own exports.
- A map only has somewhere to go when its channel exists in the project. Add Height, Opacity, or Emissive under Texture Set Settings > Channels when the project lacks one.
The normal convention
Section titled “The normal convention”Adobe’s recommended project values differ per target: OpenGL for Unity, Maya, and Blender, DirectX for Unreal and 3DS Max. The Normal Convention row on Export Texture is never locked. If you write OpenGL instead, tell Painter so on the map itself: open the menu beside the normal map’s slot in the fill layer and pick the OpenGL format there.
When you write DirectX under the plain Normal name, the panel adds a note saying where the convention is recorded. Under this destination it says that Texture Folder reads the folder as DirectX when its Source is Substance Painter or Auto detects it, because the destination declares the convention even though the file name does not.
Change the rows so the Destination reads Custom, or set DirectX by hand under a destination that declares OpenGL, and the note becomes a warning instead: nothing on the way back records the choice, so the map needs Normal Convention set explicitly on the importing node.
Reading it back
Section titled “Reading it back”Point Texture Folder at the folder and set Source to Substance Painter. Under that source the Normal Convention Auto item reads Auto (DirectX, from the source), so the map comes back the right way up. A cutout in the BaseColor alpha comes back as the set’s Opacity, and an Opacity file in the folder wins over it.
Worth checking
Section titled “Worth checking”Adobe publishes the naming tokens Painter’s export templates use, but no canonical default naming string. The spellings above are taken from the outputs of the PBR Metallic Roughness preset and are not quoted from a first-party sentence. If your Painter project exports different names, edit the Channel Name fields (or the Names rows on Texture Folder) to match, and save the result as a preset.
References
Section titled “References”- Normal map looks incorrect when loaded in layer or tool properties (Adobe): the DirectX reading of a fill layer normal.
- Project configuration (Adobe): Normal Map Format and the recommended value per target.
- Default export presets (Adobe).
- Output templates (Adobe): the naming tokens.