Make Mixed Transparency and Principled BDSF Default for Materials with a Texture Base Color
Currently, when selecting Texture as a material's base color in Principled BDSF, Blender auto-adds a texture node to the Shading interface and plugs the Color property into the Base Color property of the Principled BDSF node. This is a good start--however, this isn't enough, as it leaves every pixel of the chosen texture with an alpha of zero displaying as black.
I can think of vanishingly few occasions in which I would ever want Blender to display black instead of transparency on a texture; if I wanted black, then I would have used black when creating the texture!
To fix this counterproductive behavior, I suggest a straightforward extension of what Blender does already: in addition to placing a texture node and plugging its Color into the Base Color property of the Principled BDSF node when adding a texture as base color in the material window, Blender should also:
(1) add a Transparent BDSF node, (2) add a Mix Shader node, (3) connect the Texture node's Alpha to the Fac of the Mix Shader node, (4) connect the BDSF output of the Transparent BDSF Shader to the first Shader slot on the Mix Shader, (5) connect the BDSF output of the Principled BDSF Shader to the second Shader slot on the Mix Shader, and finally (6) connect the Shader output of the Mix Shader to the Surface of Material Output.
We can, of course, do all of this by hand to fix the default behavior every single time we use a texture with transparency--but the fact that we currently have to is absurd. My suggestion would help promote ease-of-use and a more efficient workflow in Blender in exchange for not-very-much developer effort.
3 Comments
You could just plug the alpha into the principled BSDF's alpha node... This is a solution for a problem you created.
What about all the cases where someone DOESN'T want that behavior? That would be an awful lot of unhooking and deleting things every time, which is arguably more annoying. For many users, for example those who are exporting their assets to game engines, they may not support all those nodes like 'mix shader', so your proposal would be adding a new set of hurdles for them.
* @jim.conrad * So add a checkbox to the UI. Easy peasy.