1
$\begingroup$

I've got a simple model of a knob with a wood texture. I'd like to be able to overlay some simple text on it using a png file created with gimp.

I bring in the file in the UV editor, and map it to the surface that I'm wanting it to be on. In doing this I run into a problem where the alpha channel turns everything black. I made sure that the node has the alpha from the picture linked with the principal bsd not, but that doesn't seem to make a difference. Doing a bunch of googling, I discovered that the problem may be with having the blend mode for the alpha be opaque. I changed this to alpha clip and alpha hash, but that makes the entire surface transparent.

So what I'm wanting it to do is something like this:

enter image description here

But with the alpha mode on opaque it looks like this:

enter image description here

Now if I switch the alpha blend mode to alpha clip it looks like this:

enter image description here

In case you are having trouble seeing the part that it made transparent, here it is before adding the texture:

enter image description here

Any and all suggestions will be appreciated.

I've packed the file and uploaded it here test.blend file. I will warn you that you may encounter a "security risk" in the form of a "SSL_ERROR_BAD_CERT_DOMAIN" when you go there. I've been working with the provider to address the issue.

$\endgroup$
3
  • $\begingroup$ Hello how is the letter projected on the object and why don't you make it part of the wood material? Maybe pack your image and share your file? $\endgroup$
    – moonboots
    Oct 8, 2023 at 7:48
  • $\begingroup$ Hi. I used the smart project function. The wood material is a procedural material that I whipped up. I don't know if it's possible to put text into a procedural material. I'll see if I can put the file here. $\endgroup$
    – gwfami
    Oct 9, 2023 at 13:19
  • $\begingroup$ I have packed and uploaded the file. $\endgroup$
    – gwfami
    Oct 9, 2023 at 13:36

1 Answer 1

0
$\begingroup$

As it is set right now, you've given 2 materials, one for the letter, the other for the wood, but, as it is currently set, the letter material has no reason to let you see the wood behind, it just creates transparency where you have alpha 0 (in Eevee it will appear black by default):

enter image description here

Actually you could do everything in one unique material, you just need to mix your current material with the Image Texture through a Mix Shader, use the image alpha as a factor. By default the Image Texture will use the current UV to project the image on the surface:

enter image description here

You could even plug the Image Texture into the first Principled BSDF (with a Color > Mix Color as a mixer between the wood and the letter) if the letter doesn't need a different shader:

enter image description here

$\endgroup$
3
  • $\begingroup$ Great! That works. Thanks. Not sure why just using the UV wb didn't do the job. $\endgroup$
    – gwfami
    Oct 10, 2023 at 15:51
  • $\begingroup$ I've edited my answer, I hope it's more clear? $\endgroup$
    – moonboots
    Oct 10, 2023 at 15:57
  • $\begingroup$ Yes, that explains why it didn't work in the first place. Thanks. $\endgroup$
    – gwfami
    Oct 11, 2023 at 17:17

You must log in to answer this question.

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