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
    Nov 28 '16 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$ Nov 28 '16 at 17:18

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$ Nov 28 '16 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$ Nov 28 '16 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$ Nov 28 '16 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$ Nov 28 '16 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$ Dec 2 '16 at 8:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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