Search - User list
Full Version: Houdini and Substance Painter
Root » Houdini Learning Materials » Houdini and Substance Painter
Cody Mason
A quick question, how on earth do you export meshes from Houdini with texture sets for use in Substance Painter?
Right click on node and Save Geometry?
Cody Mason
I think my question may have been unclear. I'm trying to assign multiple materials to a single mesh. In Substance Painter it reads it in as texture sets. I've tried layers to no avail, as well as the Material SOP in several ways and I cant seem to crack the code! Thanks for your time though SreckoM!
I wrote a script that will take an obj file from houdini and create the mtl file needed by substance painter

place the shelf tool in your home houdini folder or documents houdini15 (win )


to use it:

group your geos into the material sets
use a material sop to set the materials
use a geometry rop to write it to an obj
select the rop and click the shelf tool
Cody Mason
That works perfectly! Thank you so much sidenimjay!
You are most welcome ! Glad to help
hi there

i think this is exactly what I am after, but I am struggling to implement the shelf tool.

I have placed in the relevant directory as objModify.shelf, and on restarting houdini I get a ‘New Shelf’ but it is empty

any thoughts very much appreciated

(on mac, H15)

many thanks!
I've also been using Substance Painter with Houdini. I haven't used the custom shelf tool posted above as using the fbx export worked for me.

It's a very similar process to the above;

- Group your geos into the material sets
- Use a material sop to set the materials
- Export as FBX

Importing the FBX into Substance Painter creates texture sets from the material sets. I don't know if the shelf tool does something extra/differently but this method works for me.

thanks so much! ill try that

very much appreciated
Nathan Apffel
creates texture sets from the material sets

This did not work for me. Maybe I am misunderstanding. When you say “Group your geos into the material sets” do you mean to create groups with the group sop ie. primitive or point group etc. and then use a material sop to set materials using those groups? Or is there a way to create material sets? This is what i have tried without any luck. Guidance here will be much appreciated. thanks!
Hi Nathan,

Yes, create groups using the group sop, then use material sop to set materials using those groups.
In H16, this will work with SHOP materials but I think I read somewhere on the forum that it won't work with the new MAT materials. (Most likely a bug which may or may not be fixed in a daily build)

hope that helps
Mladen Kevic
i need to export .obj models with assigned base materials on sections, but i have some problems to run this shelf script.. i create models, assign it to groups, assign basic material to groups via SOP and when i start shelf script with selected rop i got this message:

Traceback (most recent call last):
File “fixObj”, line 96, in <module>
File “fixObj”, line 29, in fix_obj
File “/opt/hfs16.5.473/houdini/python2.7libs/”, line 11178, in attribValue
return _hou.Prim_attribValue(*args)
ValueError: invalid null reference in method ‘Prim_attribValue’, argument 2 of type ‘HOM_Attrib &’

any idea how i make it work?
Hi Build 17.0.409 FBX with groups and material worked fine again.
I export FBX with 3 groups and 3 materials separate and Substance Painter recognize.
I tried different with 3 groups and 1 material with 3 nested groups and Substance Painter recognize the 3 material as well.
I was looking for that either and found the solution. The easiest way I found is here in attachment that I made to demonstrate
Werner Ziemerink
Any new information on this front?

I decided to give Substance a go after years of using 3dCoat.
So far I am not impressed.

Here is my problem. I have one object with 18 groups for various parts. I also set up 8 UDIM tiles. Object parts are scattered over these UDIM tiles based on UVLayout SOP.
1. I have to create 18 dummy materials (which I won't use in the end as I use UDIM's)
2. Create a material SOP and link all the groups to these 18 dummy materials. This takes way to long. Must find alternative method.
3. Import into Substance Painter WITHOUT using UDIM's as texture sets.
5. I have the correct texture sets in substance for all 18 part.
6. Export textures just to realise that I now have textures for 18 texture sets that I will have to combine in comp per channel (that is 90 textures) to get back to my 8 UDIM tiles.

Compare this to 3dCoat.
1. Export the same mesh as is with 18 groups.
2. Get 18 paint objects in 3dCoat all ready to paint on over 8 UDIM tiles.
3. Export to get 5 maps per UDIM tiles.

I must be doing it wrong…
No Werner, sounds about right.
They have been announcing UDIMs for 3 years at this point, and in January 2020 the closed alpha allegedly started. As per how it progresses, I have no idea apart from the classic “tremendous feedback” marketing phrases.
This is one of the many reasons why I concluded my years-long “retesting substances” with a “what a waste of time”. Lack of performance on “normal” resolutions (8k and up), lack of painting across seams, problems with 16bit Int/32bit Float support (which seems to be there now but I couldn't get a linear workflow to work for me) …

Werner, you *could* do most of your pipeline with a few scripts: Converting UDIM (offsets) to material (tags/attributes) and back from those to UDIM offsets works nicely with the FBX import pipelines I have been experimenting with. You could even create an HDA that handles the Substance export/import with a single click per direction.

Varomix's lamp tutorial devotes hours on using substance painter with Houdini.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB