Getting a good transition between grime and not grime


I’ve been trying to make a teacup, which has been used as an ashtray. This is just to render in cycles not a game engine. I have had a couple of problems.

– The first problem is that I cannot make a nice transition between where there is ash/grime and where there isn’t. In this render you can see a clear division between the texture and the non textured version even though there is a clear alpha channel in the image texture. The alpha comes out black.



– The second problem is that I have a very clear seam in the middle of the texture.

I can think of two ways to solve this, either use a procedural texture with generated coordinates or paint a tileable texture.

1 Like

You’ll have to use the alpha channel for it to show up, use a mixRGB node with alpha as factor

If you want to do it procedural, you can add a noise texture and mask it with either a gradient texture node or translate each axis into a own gradient (position mask). The noise is your mask for a MixRGB node (Albedo) while the gradient is the mask for the Noise.

Create a seam on the upper border so you get a nice spherical unwrap without a seam on your critical positions.

I have tried that but I get still black. It appears there is something in the render view on the texture as far as blending but I don’t get it. Also if I want to use this grime on top of the porcelain material I have already created (which has a glossy, translucent, and diffuse shader) I cannot use the mixRGB, so what would I do to blend between two shaders as opposed to two textures/colors?


EDIT: OK this is much closer, thank you.


BUT I have a question, does the mix shader factor behave differently than the MixRGB factor?

This sounds like what I am looking for, a spherical unwrap, so the only seem is at the bottom of the cup and the upper edge. Have to try that. Also this sounds good,

I’m sorry I can’t make out anything clearly on these captures

This is the full sized screen shot, I have a small screen.

Your rgbMix to the right (the one feeding into the diffuse BSDF) is at .5 which makes both grunge maps’ color to fade out. You should mix one over the other using the same method (using alpha as mix factor), unless you want the faded color.

I think I’m not sure I understand. If I use the alpha from one it will eliminate the other in areas it covers, no?

Do you mean only create one seam, what about the bottom of the cup (inside)? Also, just to be sure, you don’t mean u > sphere projection?

Yes it will. I’ll let you determine what’s best in your case since I don’t know what exact result you are looking for, but you seem to have gotten the gist of it.

I have the gist of it but I can’t seem to get it quite there. Is it possible you could show me on a plane with these two textures how to mix them. I think I want to mix them with overlay but don’t know. I want grunge-2.png to be over grunge-1.png while being on top of the porcelain. I’m thinking that if I mix the two alpha channels I should get a total alpha for the whole grunge. Thanks for all the help.

teacup-material-experiment.blend (806.6 KB)

You forgot to pack the images but no worries :
teacup_grunge.blend (1.1 MB)
I took the liberty to clean up a bit, your shader node group was not very useful. Principled BSDF handles this kind of material very nicely (here I used clearcoat to simulate varnish).
It is important to check “clamp” when mixing colors so that they don’t overshoot.

You can change which texture goes on top by changing the order of inputs on the mixRGB node, and don’t forget to pipe in the alpha from the other texture in the mix factor as well.

I know I went to the file > pack all into blend file, and it looks on my computer as though its packed although it doesn’t matter.

Just checking, these two can remain unclamped?

Ah that’s weird, not sure what could be causing this. Maybe you forgot to save after packing ?

Yes they can remain unclamped because we’re doing a mix (= linear interpolation of values) and not an addition (the result of which can go over 1 as well as below 0).

I thought I did, don’t know. I think I got it now, I was using the MixRGB instead of the Math node to mix the alpha.Thank You very much.

Actually you can, because it handles floats (single values) fine as well as colours -but it was made to work primarily with colours so I chose the math node instead for clarity and to convey the idea that the alpha channel is just one value between black and white, so it can be handled by the simple math node.

I was reviewing the thread and I guess I missed this, so I just mindlessly replaced the porcelain group.The problem was that there is definite translucency in the material. This I don’t think the Procedural BSDF will do this very well. I assume that maybe one could increase the transmission roughness but that doesn’t seem to work.