1
$\begingroup$

How do I get the Principled BSDF shader to display the base color alpha as transparency or without using nodes?

Most of the questions seek to interpret the alpha channel of an image texture as transparent, but my context is simpler: the Base Color of the Material has 0.3 alpha.

Yet, the object is not transparent in either the editor, the render (cycles or evee), but it is actually exported in collada.

Without success, I have tried:

  • Setting the base color alpha -> does carry out to a collada export, but is not transparent in the editor
  • Changing the Blend Mode -> does not carry out to a collada export
  • Changing the viewport display -> only displays as transparent in solid mode

Using nodes I've tried

  • Setting the transmission value -> doesn't do anything
  • Changing to Glossy or Glass -> doesn't carry out to collada

I think that's all I tried. I did get it to work in the render, but I do need it to carry out to a collada export.

Material without nodes

The transparency of the base color is ignored in the rendering and the editor. Is there a way to display it in the render or the editor like Blender displays the viewport display alpha?

$\endgroup$
  • $\begingroup$ blender.stackexchange.com/questions/57531/… $\endgroup$ – Duarte Farrajota Ramos May 15 at 11:03
  • $\begingroup$ How did you get it to work in the render if "the object is not transparent in ... the render (cycles or evee)"? The way which should work is setting color value to mix shaders (or plugging there texture consisting of solid color). Alpha channel in base color of Principled shader will work for this only if you set it to use Transimission. The reason it doesn't work outside of Blender might not be related to Blender at all. It should work in Blender though $\endgroup$ – Mr Zak May 15 at 11:26
  • $\begingroup$ @DuarteFarrajotaRamos There is no texture. Is the referenced question rellevant? $\endgroup$ – quimnuss May 15 at 13:07
  • $\begingroup$ @MrZak The glossy or glass do make the object transparent, that's what I meant by "work". The "mix shader" way to do it is the method used to make a color in a texture transparent, correct? you assign a color from the texture to transparency and then mix the nodes in a mix shader. But I intuitively think there might be a simpler way if the whole object material is a single RGBA value. The shader using the alpha channel? Ideally I'm not even using nodes. Collada, OBJ, they both have a parameter to represent a transparent material, at the moment I just add the value manually after exporting. $\endgroup$ – quimnuss May 15 at 13:09
  • $\begingroup$ But feel free to post an answer if a mix shader is the way to do it! $\endgroup$ – quimnuss May 15 at 13:14
0
$\begingroup$

Base color value can be used as a driver of transparency. It is depending on shader if it can read and interpret that information. Principled shader is one which can. Diffuse shader won't be able to do it without mixing it with Transparent shader and driving Mix shader factor.

If you open color picker of Principled BSDF and set its alpha to 0 and color to white you will get only white material because shader renders it as basic diffuse surface by default.

If you set Transmission value of the shader to 1 allowing it to happen shader will use alpha channel and will make your material as allowing light to come through it.

However at this point it will refract light because by default shader's IOR value is set to 1.45 (common case of usage for interface between air and glass). Set that to 1.00 so no refraction happens and light comes straight.

enter image description here

Roughness value can be also taken down to 0 so it doesn't try to create rough surface. Object will still cast shadow of course; you will need to add more complex node setup or to disable shadow in material setitngs.

$\endgroup$
  • $\begingroup$ This sounds like the behaviour I was expecting! The cube now shows transparent with Cycles, opaque with the background color with Eevee, and it reflects a bamboo garden image (¿??) on the editor in Solid. What? I'm using 2.8. I think this is the answer. Eevee doesn't support it and the editor won't display it on solid. There's no way to show it on in the editor as Solid? $\endgroup$ – quimnuss May 16 at 14:40
  • $\begingroup$ @quimnuss Solid mode in both 2.79 and 2.8 in Cycles and Eevee is supposed to show texture if enabled. Solid mode won't show properties of material except for basic settings which are changed separately. This answer was mainly written to address certain comments above - Blender can take into account alpha channel in the base color value of shader; it only depends which engine is used to render it. I still don't see a reason to preview namely pure shader result in Solid shading without using texture $\endgroup$ – R El Clein May 17 at 13:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.