Best way to get a smooth text inset like this example?

So im trying to find the best way to add texts and labels to my product renders. Usually, its a text or logo ,that is slighty inset or extruded on a shape. Something like this example


The text is slightly inset into the shape, and it looks very smooth.

Can somebody tell me the best way to achieve this?

I tried adding a image texture (the text with transparent background) to the existing shader… but when I add the bump node…it looks horrible and has no depth to it (maybe i did connect it wrong). So im not sure if this is the right way.

or is this done with texture painting (with a stencil) with a bump node?

I any case, I would like to be able to seperate the materials too, so i have seperate control over the text material (roughness etc).

This is how I would set that up:

Note that your image that you use should have a slightly feathered edge to get a better transition between text and not text:

If you just have the sharp edge of the text, the bump node doesn’t know what to do with it.

1 Like

It’s common also to run a bit of gaussian blur on the image to make a softer edge for the bump transition. But this is definitely be the easiest way to get the effect.

Nice solution!

1 Like

Thank you @SterlingRoth for you solution!

Quick question though… I see that the blue color (color2 input) make the ‘base’ shader of the donut. And the BSDF node controls both the text and the base shader.

But what if I wanted to seperate these. A seperate BDSF shader for the basecolor, and a seperate one for the text.

So lets say i want the base material to have 1 roughness and an image texture of a concrete… and on top of that i want the same inset text as you already showed me…but this one would have roughness 0 to make the text shiney.

So basically, how would I add a seperate BDSF shader to control the base material seprate from the text?



  • slightly feathered edge -

a blurred image ?
there may be some inside edges too !

also this can be done using a simple black and white blurred image

can the displacement input be use to increase the 3D effect ?
and might not do the same effect from 2.79 and 2.8 serie!

happy bl

Here’s how you could do that with two separate principled shader nodes:

THank you so much for this. Im starting to understand how this works more and more. So bascially, by putting the image texture into the factor of the mix shader…you’re using the texture to control where material 1 shows up, and where material 2 shows up right?

2 questions about this

  1. im trying to let the text only show on the side of this shape. Nowhere else. So I unwrapped the shape, and applied the material that you provided. I set the image texture to clipping…but now I have to position it on the side of the shape. Which means making it a lot smaller and rotating it. I can get it to rotate…but I can’t get the text to be smaller so it fits on the side. I tried scaling it with the a mapping node…but that scales the whole texture which makes it clip… Same when i adjust the size of the UVmap (I scale up the face so the text is relatively smaller, but then the face falls out of bounds)… So basically, i am unsure how to scale down the text and put it on the right face.

Maybe this workflow is completely wrong to do this…? Other ways I can think of
1)assign this material to that specific face, and give the rest of the same material, but without the text and bump?
2) same as above, but use UV map node to tell blender what material to use on what faces. Im not sure what the benefit would be as opposed to the first method.

please advise.