0
$\begingroup$

For some reason, if I use a .tga with alpha channel (that has Black and white spots), that alpha channel affects the Solid viewport (Viewport shading > Color > "Texture"), even though it's not even being used in any nodes. See no way to turn this behavior off. Material is set to Opaque. I would like some kind of answer, even a "that's just the way it is" coming from a knowledgeable source (i.e. the devs just coded it this way, without any way to disable the alpha affecting the Solid viewport). .blend file here

enter image description here

$\endgroup$
0

1 Answer 1

2
$\begingroup$

The Texture option in the Solid viewport shading is showing the texture - not the material. If you are using the alpha channel or not is a matter of how you setup the material. But the texture itself is a PNG which has transparency, and so it is shown with transparency if you set the option to Texture.

And since it does not show the Material Output, it also does not show for example a combination of different textures if you mix them in your material - it shows the image of the Image Texture node which is currently selected in the Shader Editor. If a non-texture node is selected, it shows the image texture that was last selected. If a non-image texture node is selected (like Noise, Voronoi etc.) it just shows the color set under Material Properties > Viewport Display.

By the way, to show the Material Output you have to use the Material Preview or Rendered shading mode. The Material option in Solid shading does not show it, it shows the color which is set under Material Properties > Viewport Display like described above when you have a non-image texture selected. The Object option shows the color which is set under Object Properties > Viewport Display.

$\endgroup$
5
  • $\begingroup$ Thanks. I'm well familiar with the basics of Blender, but I was wondering if there was a way to display the texture in Solid mode without taking its alpha into account. Because an alpha channel is not only for transparency - for example, I was using it as a mask for a shader inside Unity. So the way it's displaying in Blender is visually wrong, and I wanted to fix that. $\endgroup$
    – BuzzKirill
    Mar 13, 2023 at 10:12
  • $\begingroup$ @BuzzKirill, but you already have a solution for this in your question. What's wrong with disabling the Alpha - seems like that's exactly what you need. Another way would be to use Node Wrangler addon and preview the texture in Material Preview shading mode or manually connect the texture to output. $\endgroup$ Mar 13, 2023 at 10:21
  • $\begingroup$ @BuzzKirill You asked why the option is showing transparency (which I explained) and wanted some answer even "that's just the way it is". I provided that answer: if you want to see how the material setup looks, you have to use Material Preview or Rendered. The Solid mode is not for showing the material - simple as that. And I'm well aware that alpha values can be used for masking etc., but first of all in a PNG they are making areas transparent. The Texture option in Solid view shows the image texture: a PNG with transparency. This is the answer, no matter if you like it or not. $\endgroup$ Mar 13, 2023 at 10:24
  • $\begingroup$ And I don't know why you say "no way to turn this behavior off". As @MartynasŽiemys pointed out in his comment, you already have a solution for this in your question: set the Alpha to None. This way it will not affect the display in Solid mode. It will not be possible to use it as mask then either, but that masking effect will not show up in Solid mode anyway. $\endgroup$ Mar 13, 2023 at 10:35
  • $\begingroup$ Yes, thanks everyone, I think I understand. $\endgroup$
    – BuzzKirill
    Mar 13, 2023 at 15:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .