I really like Substance Painter and the way we can texture and get creative with materials. Although it’s not an easy app to learn, it brings a lot of value to 3D models, both new and old. What’s not well handled is material zones on export. If a mesh has 5 zones, we get a set of 5 maps (i.e. around 30 textures or more). There’s not a single workflow that would benefit from this, yet Adobe are declining to fix this issue.
In the meantime, it is up to us to combine the various exported maps into a single texture to cut down on memory overhead for the target application. Thankfully there are two tools that can help with this: Texture Set Combiner and Submerger. Let me explain how to use both of them (before I forget).
Texture Set Combiner
TSE is a free Windows only tool by Christena Alba, available from Gumroad. It’s a standalone app that works with the maps you export from Substance Painter. I tried it before and couldn’t make it work, probably because I didn’t read the instructions properly. It’s a really bare-bones little .exe that either works or doesn’t, and it’s not great at giving feedback. However, it can combine all maps well if you export them correctly.
The interface is very self explanatory: give it a source folder with exported maps from Substance painter, and a destination folder where TSE’s output can be stored. You can choose whether to leave backgrounds blank or extend them with a colour of your choice. Pick an output format, hit Combine Files and wait while it’s seemingly “not responding” (thank you Windows for this re-assuring message on so many 3D apps).
The recipe for success is how you export the maps from Substance Painter. It does explain this at the very top under Required Export Settings:
- Document channels + Normal + AO (with Alpha)
- Dilation + Transparent
In Substance Painter, head over to File – Export Textures and set these things up under Global Settings (yes that is a clickable option, super easy to miss). The dilation value will extend the textures by x pixels beyond your UV islands, so the value will depend on how close together your islands are. If you have room, add a few pixels here to avoid seams. If not, zero will work just fine.
Choosing any other settings will make TSE fail without an explanation. It works great, please try it out and give Christena a few bucks for her trouble on Gumroad, she deserves it!
Comphonia’s Submerger script is another option to merge maps, but it’s hit and miss. Although it works on both macOS and Windows, it does require Photoshop. The workflow is as follows:
- use File – Send to – Export to Photoshop in Substance Painter
- this will export a LOT of maps to keep layers intact
- this will launch Photoshop and run a script by Substance Painter, setting up all documents with layers
- run the Submerger script and it will combine maps if it can
When finished, Submerger will ask if you’d like to save the maps (it doesn’t prompt for a file path, feel free to cancel and save the PSD files wherever you like, they will remain open in Photoshop).
Sadly this process does not work reliably: sometimes the script will stop before it combines all maps, with no error message. In addition, it’s a hugely time consuming process: creating the intermediary Photoshop files takes a while, importing them into Photoshop does too, so does the combination process, plus the default save path is something nobody would ever know nor use.
While I give this script 10 out of 10 for effort, it’s not something I can use for the projects I’ve tried it with. You may have more success with your projects though, so if this script helps you, buy Comphonia a coffee for this troubles.
I’m still shocked that merging/combing maps on export is not part of Substance Painter. While they are aware that literally everyone using Substance pretty much wants this since 2017, Adobe refuse to implement it, citing “technical challenges” Funny that two independent developers without access to their crummy source code could make it happen, and they’re not asking $20 per month for the privilege.
But hey, that’s Adobe for you.