How to disable receiving shadows on a particular mesh?

Mobility of the Directional Light is set to “Movable”, and therefore most of the meshes can cast and receive shadows from dynamic cascaded shadow maps.

By the way, in case of very special objects, they should not receive any shadows.

Is there an any way to disable receiving shadows on a particular mesh? Of course, those objects still require casting their shadows.

Hi uxplus,

You cannot set an actor to not receive shadows. This would require lighting channels, which cannot be used with deferred rendering.

Thank you!

Tim

HI. I am unfamiliar with ‘Lighting Channels’. Please let me know more information about it. Thank you.

Lightning Channels were something Unreal 3 used. The method it used had lots of options but wasn’t really good performance wise (in my opinion). It would let you seperate lightning information to channels so you could toggle them between.

This can not be done in Unreal 4 as Mr Hobson said.

There was a feature in UE3, that allowed lighting to be built on channels that could determine what meshes are affected by what light.

There was a feature request in at one point for this, but this would break the deferred rendering since lighting will affect all lit surfaces.

This is not to say that there haven’t been attempts such as this one that may help if you want to try to implement yourself with code:

I’m astonished that there is a useful feature that Unity has that Unreal doesn’t, and I need this exact feature right now :frowning:

Change your texture to unlit and set you base color to go to the emissive(so its not totally black). You should stop receiving shadows now. I know this is an old question but I was also looking to do this and this and I thought I should post it here for anyone else looking to do this

5 Likes

Is this possible now? There’s plenty of reasons why you may not want an object to receive shadows… distant super low res LOD’s (such as mountains as poly strips, or a entire city as a ‘super lod’) can look really bad when casting shadows as the shadow projection aliasing kicks in.

But - you still want the objects to be lit… you want it to react to sun light and ambient light… so the emissive approach isn’t good here.

Make it translucent in the shader options.

1 Like

Is there any update on this?
It would be great to be able to specify if you want certain object to not receive shadows from another specific one.
Lightning channels are only 3 and sometimes its a bit of an overkill when you need to put only one actor in the entire channel.

this fixed it for me, imo it’s the solution, changed the texture from lit to unlit then connected the basecolor to the emissive color instead

1 Like

how to do the opposite ? receive shadow but object invisible ?

Using an Unlit material would make it not receive shadows wouldn’t it?
Also, lighting channels do exist in UE4 now, so you could use those.

There’s a boolean for “Cast Hidden Shadows” Then set it to Hidden in game.