Cycles fire doesn't cast shadows: is there a way to fix it?

Hello everyones,
i’m trying to finish my first illustration in Blender (i’d like to learn it as an alternative to the dead Softimage…:eyebrowlift:).

Anyway, the subject of my illustration is a fire eater, so i’ve managed to render out my character spitting fire using the new cycles volumetric features (i’m using Blender v.2.71).

Everything is good but i’m facing one issue: i don’t know why the shadow of the fire isn’t casted on the curtains like the character ones.

Could anybody help me with this issue? Is one of the last step to get this work finished :frowning:

Thanks in advance

Best regards


Your fire is, if anything, emitting light, not occluding it. Does your flame material include any volume absorption? If not I don’t see any reason to expect it to block any light at all. No light blocked, no shadow.

Thanks for the reply, it’s really clear. I think that in the shader there is a volume absorption node. My shader setup is the one i’ve found on the first video released about the new volume shader in Blender 2.71.

If tomorrow i’ll post a pic of my material setup could you give me an advice about solving my problem ?

Thanks again!

You could add some heat distortion instead of shadows.

But I agree, Flames can give shadows as long as the other light source has more Lumen

this is exactly what i mean, a soft transparent shadow casted by a flame. Also the heat distortion is a good suggestion, i think i’m going to add it. Thanks!

As i said yesterday, i’m posting my shader setup for the fire. There is a volume absorption node but i don’t know what to do to change the shadow situation.

Any suggestion is appreciated :smiley:

Thanks in advance


Perhaps something like this:

For shadow rays Cycles will now not use your node setup, but the bottom one, which is essentially a transparent/diffuse mix controlled by a noise texture. This will produce an imperfect shadow with brighter and darker spots in it. You can control the contrast with the color ramp.

Hi, thanks for the reply. I had no luck with your setup…i’ve plugged everything in the volume slot because, otherwise, isntead of the fire the domain cube is diplayed.

Anyway, i’m attaching an image that shows what i did:


You might want to try using volume scatter instead of absorption. Volume scatter scatters the light like it would physically volume absorption is not physically.

Also, just by looking at your result, you might want to use particles in stead of a smoke sim.

well… it’s possible to call it shadows, but the it’s more accurate to call it distortion… After all, is not the flame that blocks the light, but the heat that changes the light direction… so in theory it’s more of a caustic problem.

IkariShinji offered a good solution, but there’s only one point left… you need to include in the heat map as a density value for the ‘IsShadow’ shader. Absorbtion instead of the diffuse/transparent, works better than Scattering (less computation).

of course, that for accurate results, a refraction should be used! but this is not at all practical!