Author Topic: Disappointed with Substance - I am missing something?  (Read 545 times)

Hi everyone,

I started to use Substance Painter a little bit more and for now I am a little bit disappointed.

The goal was to model in 3DS Max, to texture in Substance Painter and view results directly in Vray and Unreal.

Maybe I am missing something, but for now... does not seem that I can have Substance Painter on one screen and a Vray IPR on the other screen.
For Unreal I saw a live link solution but didn´t test it so far.

Also, luckely, I was starting with a blend between Brass and a Patina/Copper II Oxide. The Brass is a Metal/Alloy and the Copper II Oxide a dielectric.

So the base was Brass and on top I created the Patina with a Mask (since the patina is also in real world sometimes more present and sometimes less for a given pixel when imagining taking a photo).
However Metalness value of a pixel of course is said to be 0 or 1 and not something in between since it is unrealistic/physically not correct. Something like 0.5 in between a area where a metal neighbours a dielectric is said to be ok in order to get rid of aliasing, but in my example many pixels all across the texture were using values in between 0-1 for metalness, so actually my setup in Painter was when being correct, all wrong.

Still I did this in hope to be able to...

- qickly export the 2 materials
- and also the blend mask seperatly
- to 3DS Max and Unreal (in best case streaming it directly into there)
- to blend those 2 seperate Materials for example via VrayBlendMtl together
- in order to reach a more realistic and physically accurate result than doing it all in a single material

In Substance it seems...

- I can make material layering possible (Dynamic Material Layering), but it seems outdated and badly designed and documented (Iray doesn´t work, can´t use smart materials, can´t access blended materials easily and tweak them...)
- I can export masks, but only manually
- when I reexport textures while having Max 2021 open and when these textures are already in there -> 3DS Max will crash (something with png error comes up)

So my questions are...

- Is there a good way to use Material Layering in Substance?
- Is it possible to create a live link with 3DS Max/Vray that on top also supports Material Layering/Mask Export? (I have seen a plugin for 25$ but that doesnt stream textures as far as I have noticed)

There are so many interesting aged metals and other materials that I would love to work on in Painter, but currently I hate it that everything seems to work so manually and that you are forced to put everything into one material. It consumes so much time switching between Renderer and Substance and also doesn´t seem to be possible in a proper way with Material Layering ...

Thanks for the help guys

Last Edit: May 23, 2020, 12:13:31 am

You do all your layering in substance and substance does bake it into one material.
You wont need a live link what you do in painter should look exact like what you render in max if you use the vray mat in substance.

Take a look at those video.


thanks for your answer.

There is a difference if you bake it into one material or two. If you would have the options to export it as two materials and also a blend mask for blending those 2 Materials via VrayBlendMaterial, then results are much more realistic. As said, you shouldn´t bake these kind of blends into one Material.

Why would it be more realistic? Its the exact same.
And if you would like that workflow just export the mask.

It is not that simple. Substance itself mentioned that many studios requested it when they talked to 200 of them. Probably, because you wish to have direct visual feedback from the software instead of exporting again and again manually to see updates.

I see a lot of people using materials that look super awesome and kind of realistic (especially talking about metals), but still pretty far from 100% realistic, because they are doing things that are physically not correct. It is ok to do so, since nothing is to 100% and often you don´t have the time, but when trying to archive photorealism very very close you should be able to do at least material layering.

If you really want to know the reason:

Let´s say you created, like in my example, a brass material with a patina.


Albedo 250 230 150
Metalness 1
Roughness 10%
IOR 1.5

Patina (CopperIIOxide):

Albedo 45 45 45 (RGB just guessed here)
Metalness 0
Roughness 70%
IOR 2.6

Now imagine 1 pixel on screen being rendered.

This pixel contains because of the blend 60% patina and 40% brass (so 40% metalness).

Google aged brass and imagine how this is layered in real life.

On this very small scale some parts of this one pixel (60%) are aged and have become a patina and some parts haven´t and are still brass (40%). So for a very realistic example you must render many samples for brass and many samples for the patina with the given values from above. As result you calculated for example (for simplification) 6 colors/samples for the patina and 4 for the brass which you then mix together to get the final, averaged pixel color.

Now imagine this with your exported material (only a single material). You get..

(250 230 150) * 0.4 + (45 45 45) * 0.6 = 100 92 60 + 27 27 27 = 127 119 87 for the Albedo
Metalness 0.4

Knowing that metals shade completely different than dielectrics, how does the shader know when you give it the albedo of RGB 127 119 87 and the metalness of 0.4 what the albedo of the metal was and also what the albedo of the dielectric was? Was the yellowish part from the dielectric or was it from the metal? Also was the metal very bright and the dielectric dark or was the metal albedo relative dark in comparison to other metals and the dielectric pretty bright.
So it simply doesn´t work. Vray mentions that too. It is metalness 1 or 0 and nothing else except mabye a pixel inbetween with value of 0.5 for aliasing reasons.

If you need that kind of control i agree.

In this case export the masks and the materials separat.
Make a custom exporter.