Opacity problem coming from Substance

So when I’m in substance the alpha/opacity looks great, but once I get it in to blender, it looks completely different. Managed to get the opacity to work a little bit but it’s not quite the same. To be more specific, the edges of the mesh are showing up in blender and not in substance. Any ideas?

What you see in Cycles is Alpha Blend, this method is the king of transparency because it smothly blends between transparent and opaque.

What you see in Substance Painter is the limited, ugly but much much more performant Alpha_Cilp / Alpha_Test / Alpha Mask, this method is mostly used in realtime rendering of foliage. Alpha Test makes only difference between fully opaque and fully transparent pixels.

As far as I know Cycles can’t do alpha test because Cycles is for realistic rendering with no concern for performance. There’s only point in doing alpha test in realtime engines, where performance is the most important factor.

So, to put it simply, Cycles doesn’t need it, so it doesn’t have it. EEVEE needs it very much, so it has it in Properties Editor > Material > Options > Blend Mode > Alpha Clip.

1 Like

huh, well thats a bummer. Art being subjective it’s also kinda surprising. So could it be as simple as appending all my meshs into 2.8 and changing the setting you mentioned? Thanks for the assistance as usual helluvamesh.

Edit: yeah just checked and I’m using alpha test on that specific mesh.

So, everything’s fine?

No sorry, just mentioning which one specifically. As for the appending I’m not sure, haven’t tried it. I would just render in substance but it’s not agreeing with it, don’t have crazy high end pc, assuming thats the issue. So hopefully 2.8 will suffice if appending will work?

Appending always worked for me in 2.8.

But you can’t append a scene because it was changed how a scene references objects. So, just append objects.

So as long as I do just “objects” from a .blend It’ll work?

It should, though I haven’t done anything in 2.8 for a month.

Whoops, didn’t see that last bit. Alright, I’ll give it a go, fingers crossed.

When I switch it to eevee, the textures are just black? But switching just the ground to alpha clip I’m left with this result. Do I need to maybe somehow refresh the textures? Edit: alpha hashed is closer to what I want but still not quite the result in substance painter.

if you want this masking like in the substance picture,then i would try a -greater than- math node between your alpha output and the fac input.if greater than doesent help,maybe -less than- works.

maybe im wrong but give it a try,oh and make sure the transparent color is at 1

1 Like

Bingo! I actually tried that in cycles with no luck, eevee coming through with the win, thanks for the help pixelgrip. Any body have any ideas about the black textures, and maybe turning off the hdri lol, transparent doesn’t seem to work.

Edit: clicking use nodes on a couple of them seems to turn the textures on, for multiple objects oddly.

You can fake alpha clip in Cycles like this:

So using your specular setup you showed me (the real blender guru you are) the output of the ifnode would go in to the Color1 of the overlay?

I don’t have that good memory, refresh me.

No, this is how you do transparency in Cycles/EEVEE:

1 Like

Okay, realizing you have it set as none color data, so I need would need to export an opacity map from substance, separate from the basecolor? Either way, eevee works flawlessly for what I was trying to achieve.

No, the alpha channel of textures are always read in linear space, which is what “non-color data” would do.

hmm, I must be missing something than? getting lost on what to do with the AO for the specular as well.