I'm trying to overlay an image on top of a shader to create the effect of having printed onto metal like so:

Picture of a illy coffee can

I'm using an Anisotropic shader for the underlying brushed metal and have UV Mapped a PNG (with alpha channel) for the printed portions. I've tried using a Mix and an Add shader to combine the two but it doesn't give the effect I'm after. Instead, it looks like the metal was stained with a translucent film, rather than over-printed with an opaque ink/paint.

Here's my shader so far: Screen grab of Node editor

How can I achieve this over-printed effect?


Take the Alpha socket from your image, and plug it in to the Fac of the Mix Shader node. Then switch the Diffuse BSDF to the bottom socket of the Mix Shader, and the Anisotropic BSDF to the top shader socket.

The black and white alpha channel will control which parts of the material get which node. A value of 0 goes to the bottom socket and a value of 1 goes to the top socket.


Not the answer you're looking for? Browse other questions tagged or ask your own question.