Importing Substance Painter Textures into Blender 3D: A Practical Guide

portalcenter.cl

Import images textures made with Substance Painter or other similar surfacing tools into Blender 3D easily. The script looks at all the images in the chosen directory and attempts to guess the corresponding shader input to plug them into. The texture maps names are editable and can include up to 3 multi-channel maps. The separator character used to identify multi-sockets lines is configurable in the extension preferences panel ( separators currently available: _ - , ; . By default a normal map node or bump map node is added when a normal map or height map is detected.

Overview of the workflow

The process starts with selecting a folder containing all texture maps exported from Substance Painter. The script analyzes the file names and content to determine the most likely shader inputs in Blender, then automatically connects these textures to the corresponding nodes in a material. The approach supports up to three multi-channel maps and allows customization of the separator character used to identify multi-sockets lines, enabling flexible naming conventions.

Step 1: Prepare textures

Ensure texture maps are organized and named consistently. Typical maps include base color, roughness, metallic, normal, height, and ambient occlusion. The script can handle additional channel-packed maps by recognizing the configured multi-channel separator. If a normal map or height map is detected, Blender will add a normal or bump node by default.

Step 2: Configure the script

Open the extension preferences panel to set the separator character used for multi-socket lines. Available options include _ - , ; . This configuration allows the script to correctly parse multi-channel textures and assign them to the appropriate shader sockets. The script then scans the selected directory and builds a mapping from each texture file to a shader input.

Step 3: Run the import

Run the script to import textures into a Blender material. The script looks through all images in the target directory, guesses the corresponding shader input, and connects them automatically. If a texture is identified as a normal map or height map, Blender adds the respective node (normal or bump) by default to ensure correct shading.

Texture-to-shader mapping details

  • Base color maps typically connect to the principled shader's Base Color input.
  • Roughness maps connect to the Roughness input, including a roughness/metalness workflow as needed.
  • Metallic maps connect to the Metallic input when using a metallic workflow.
  • Normal maps connect through a Normal Map node before feeding the Normal input of the shader.
  • Height maps may be routed to a Displacement or Bump node depending on the setup; the script adds a bump node by default for height maps.
  • Ambient occlusion or curvature maps can be combined using mix nodes or packed textures if multi-channel textures are present.

Multi-channel and multi-socket handling

When images contain multiple channels packed into a single texture, the extension uses the configured separator to identify separate sockets. Up to three multi-channel maps are supported. By default, if a normal or height map is detected, the corresponding normal or bump node is added.

Working with multi-channel texture packs

To maximize efficiency, pack related maps into a single texture when possible (for example, a packed normal and ambient occlusion map). The script will parse such packs according to the configured separator and connect each channel to the appropriate socket. This approach reduces the number of texture files and streamlines shader connections.

Tips for reliable results

  • Keep texture file names descriptive and consistent with common naming conventions from Substance Painter (e.g., myMaterial_baseColor, myMaterial_roughness, myMaterial_normal).
  • Set the separator character thoughtfully if you use multi-channel textures; ensure the chosen character does not appear elsewhere in the names.
  • Verify that normal maps use the correct color space (Non-Color for Normal maps) in Blender to ensure correct shading.
  • For complex materials, review the generated node tree and adjust connections if needed, especially when using advanced workflows like PBR with clear coat or subsurface scattering.

Example workflow: from directory to shader

  1. Select the folder containing all exported textures from Substance Painter.
  2. Open the extension preferences and choose the separator character for multi-sockets lines.
  3. Run the import script to generate and connect shader inputs automatically.
  4. Inspect the resulting node setup; adjust if necessary for specific artistic or technical requirements.
Substance Painter to Blender texture map mapping

How to PROPERLY Import Models With Textures in Blender

Potential enhancements and considerations

Future improvements could include more sophisticated channel packing recognition, support for additional shader types beyond the Principled BSDF, and better handling of non-PBR materials. The approach remains focused on leveraging existing textures efficiently while maintaining clarity and control for the artist.

Practical notes on integration

Blender users benefit from a streamlined import that reduces manual setup time. By leveraging texture maps created in Substance Painter or similar tools, artists can quickly establish a coherent material foundation in Blender, with sensible defaults for normals and height-based details.

tags: #substance #painter #blender