I'm trying to create semi-transparent objects which cast shadows whose intensity depends on the thickness of the the object itself. A simple example would be a wedge shaped object which casts a light shadow on it's thin side, which gradually becomes darker as the thickness increases. I'm guessing it would be similar to adding an adsorption effect to the light ray. I tried using the normal blender render but had no luck. So I tried adventuring in the cycles and nodes, playing with the light path is shadow ray. But again to no avail. I suppose I actually have to change something in the receiving object but can't figure out what. Does anyone have an idea of how I could achieve this effect

  • $\begingroup$ Did you try using the glass shader? $\endgroup$
    – 10 Replies
    Commented Nov 28, 2016 at 15:36
  • $\begingroup$ Do you mean a Glass BSDF? I tried using it along with several other nodes but I always get a constant shadow $\endgroup$ Commented Nov 28, 2016 at 17:18

1 Answer 1


You can use volume shaders to achieve a shadow that varies with the thickness.

I used the light path 'is shadow ray' to 'disable' the shadows of the glass shader, and to set to 0 the density of the volume inside the glass, although this is actually not necessary.

volume shadows

The thickest part of the model is 1 BU (1 meter).

Bear in mind that this is not realistic.

  • $\begingroup$ Thank you for the suggestion. I tried copying your node setup, with the only visible difference being that my "Light Path" node has various options, not only is shadow ray (I suppose there is a way to minimize it so it only shows the selected option). My resultis a shadow which for the most part does not have the blue tint yours has, and which is fairly homogeneous. It also has a few speckles (my rendered samples is 128) $\endgroup$ Commented Nov 28, 2016 at 17:16
  • $\begingroup$ @NicoloCastro You can hide/unhide the unused sockets pressing Ctrl+H. Try changing the Density on the Volume Absorption shader (the one in the bottom), small objects require low values, big objects require high values. The thickest part of the model I made is 1 BU (1 meter). $\endgroup$ Commented Nov 28, 2016 at 17:55
  • $\begingroup$ @MattFerndzI resized it to 1BU, got a slightly better result though still not quite right. I will play with the Volume adsorption shader. I however still get the speckles. I don't know if I can post a link to a screenshot but anyways here it is: link $\endgroup$ Commented Nov 28, 2016 at 18:41
  • $\begingroup$ @NicoloCastro The speckles are the refractive caustics produced by the glass shader, you can disable both refractive and reflective caustics in the Light paths section. $\endgroup$ Commented Nov 28, 2016 at 19:30
  • $\begingroup$ Thanks for the help. I managed to get the result you got. I believe I accepted the answer let me know if need to do something else. Unfortunatly the effect is not as marked as I need it so I ended up saving a normal shadow and then photoshopping the effect :) $\endgroup$ Commented Dec 2, 2016 at 8:30

You must log in to answer this question.

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