Of course with Node Wrangler you can import multiple textures at a time but i still had to switch most textures to non color data and the labels on the image texture nodes reflected the filenames which are too long to act as a readable label.
So i decided to create a small add-on that sort of does what Node Wrangler's multiple images does but in a neater way. The add-on is called NodeSet and when you select its menu entry from the node editor (
Add->Texture->Set of images) it will:
- open a file dialog where you can select a texture (you only have to select one from the set of textures)
- add this texture as an image texture node
- set the non color data flag if it is not a color texture (i.e. not a BaseColor nor a Diffuse map)
- automatically try to load all other textures with the same base name (for example Roughness and Metallic). It will ignore textures that are not present
- give all nodes a descriptive name (BaseColor, Normal, Specular, ...)
- group all those nodes into a frame with a label that reflects the basename of the texture set
- order the nodes alphabetically (BaseColor will always be located above Metallic, regardless of the number of textures in the set or the loading order)
The result looks neat and descriptive:
A small tutorial on how to use it is available as well:
This all works because textures exported by Substance Painter normally follow a strict naming convention where each texture in a set has the same basename (typically the meshname followed by the material name) and a different suffix depending on the type of texture (_Normal or _BaseColor for example)
You can change these suffixes when you export so although NodeSet is configured with the Substance Painter defaults for both the metal/roughness and glossiness workflows (i.e. in Substance Painter you can select Export Textures en select either
PBR MetalRough or
SpecGloss (non PBR)), you can configure the suffixes it will look for in the
User preferences -> Addons . If you leave one empty it will not try to load it. There is of course nothing Substance Painter specific in this setup so it should work for every program that is able the produce texture sets with a common basename and a different suffix for each map.
Currently it will look for png, jpg/jpeg, hdr and exr textures.
AvailabilityThe add-on is available from GitHub. Download it and then select it from
File -> User preferences -> Add-ons -> install from file. Don't forget to check the enable checkbox.