After finally figuring out how to apply a transparent PNG only to specific faces of a mesh, I spent forever trying to figure out why I was getting a shadow and finally realized it was because my coffee mug is hollow and a shadow is being cast on the inner wall of the mesh.

Is there a better way to add transparent graphics and logos to solid objects like this? Ultimately, I want to be able to do this for cars and characters. Thanks!

Blender Coffee Mug with transparent PNG

EDIT: I do not believe this is a duplicate of those other issues as my problem was a shadow casting onto the interior of a mesh due to the transparency. I tried both of the solutions shown below and here are the results. I believe the shrinkwrap mod is the best solution for me right now (thanks @masterj2001), but I will continue to tinker with the other solution (thanks @thibsert) to try to get rid of the lighter background, and I did try all the blending modes in the MixRGB node.

Shrinkwrap solution on the left, MixRGB solution on right, still have to mess with this one more as it seems cleaner if I can get it to work.

  • $\begingroup$ If I were you, I'd unwrap the same images onto a plane (use the same node setup as well), and then use a shinkwrap modifier on that plane to wrap it onto the mug. I'll get a detailed answer for you in a bit. $\endgroup$ May 1 '18 at 4:26
  • $\begingroup$ There is no need to use a transparent node $\endgroup$
    – user1853
    May 1 '18 at 11:04

Start off by removing the images that you have added to the mug so that it just has the ceramic material on it.

Unwrap the images that you want to be put on the mug to a sperate plane (use the same node setup for the images as you have currently)Images to separate plane

Go ahead and add a shrinkwrap modifier to the plane and set the target to be the mug.


Change the offset value to something like 0.001, 0.002 etc.

Currently, the image isn't appearing on the mugE, that's because it doesn't have enough geometry to wrap itself around the cylinder (mug). In order to fix this TAB into edit mode, press W and choose subdivide. You can then use the panel that appears in the bottom left-hand corner to change the number of subdivisions.


You then want to add a subdivision modifier to the plane and change the order of modifiers so that the subdivision modifier is at the top.


Finally, you'll want to add a crease to the exterior edges of the plane to keep its sharpness. Once again, TAB into edit mode, select the exterior edges and press SHIFT + E and drag your cursor outwards from the mesh. You should see near to the bottom left of the screen the strength of the crease, pull outwards until that value reads +1.000.


Hopefully, that will produce the result that you were looking for!


  • $\begingroup$ Thank you so much for taking the time to explain this solution in such detail! I will try this when I get home! $\endgroup$
    – genjichu
    May 1 '18 at 17:13
  • $\begingroup$ be careful wrapping a plane around other geometry, if the surfaces overlap or there is not enough distance between them it might cause Z-Fighting. See: en.wikipedia.org/wiki/Z-fighting $\endgroup$
    – user1853
    May 1 '18 at 19:00

Your node setup mixes two different materials, one solid, one transparent. What you want is a single material (ceramic) with a base color and your picture painted over it. Something like that :

enter image description here


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