Downloads, Houdini, Python, Redshift, Substance Painter

Houdini Snippet Vol.12 – Texture Workflow

Here are some kind of ideas for simplifying the texture handling from Substance Painter to Houdini. Therefor i use the gallery preset system and create a little prototype of script to add all baked maps from Substance Painter, with one click. This snippet is a bit low-end but i guess usefull for other automatism, as well.


1. We need some maps from Substance Painter, first!

Here i show the Metal/Roughness-Workflow which gives a very close result in Houdini/Redshift. Starting point is a kind of robotish/cyborgish glove and a ID map.

I use a custom HDA for quick ID-Map backing with UDIM support (picture down below: for presentation purposes, a 3×3 tile UDIM-set):

Some Substance Painter Materials.

For the Metal/Roughness-Workflow you need 5 maps. Diffuse, Metallic, Roughness, Normal and Displacement.

Hint: I use the Heigth map from Substance Painter as Displacment map.

I export these to a unique folder, for instance “P:\…\SubstancePainter\Setup01\_export”. The export folder just contains the exported texture maps.

In the “Export Configuration”, i suffix-ing the type of map in the name convention for later indentification.


2. Preparing the redshift_vopnet and shader setup:

Material Reflection settings to GGX and Metalness.

Referring to the Maya/Redshift Docs:

Gamma settings Texture loader.


3. Automate the map linking process:

Add some OGL Render parms to the redshift_vopnet. So we can see our Texture maps  in the viewport. Those parms we link later to the Texture loader:

Right Click > Parameter and Channels > Edit Paramater  Interface…

Under the “Render Properties”-Tab type in the filter-field: “OpenGl”,  and apply the  Diffuse- , Metallic- , Roughness- , Normal- and Displacment map parms to your vopnet.

Reference the OGL map inputs to the Texture inputs inside the vopnet.

Save it as gallery preset.

Right click > Save > To Gallery…

Under the “Material Pallete” pane, in this case “Shop Materials”, the shader appears and is now drag and droppable to your favourite context.


4. A small script for the map pathes:

Create a Shelf-tool and add the following python code:

As i mentioned, i use a single “_export” folder for my Substance Painter maps, per object. Fire the script, find your folder and voila.

Hint: If your use the other maps to get feedback in viewport (especially the Displacment map), your framerate will drasticly drop and occupies precious VRAM, but its cool for setting up the right values. I recommend to turn the OGL stuff off, in terms of faster GPU-render results.

Ther render result looks pretty much the same like in Substance Painter/IRay.

Here the Demo gallery preset:

Win: Copy the gallery folder to “C:\Users\<user>\Documents\houdini17.0”