0 votes

I want to make the shadow of an object less opaque without affecting the shadows of different objects.

And no, I DO NOT want to uncheck "Cast Shadow" in the mesh's settings.

I understand a light has "Cull Mask" layers. It says "The light will affect objects in selected layers".

Okay, so I put omni-light A in layer 1 only; I turn it's "Cast Shadows" on.

But when I put an object B in layer 2 only and turn it's "Cast Shadow" on, the light does not shine on it but it STILL casts the objects shadow!

Wasn't this supposed to be fixed in Godot 4? It's driving me nuts!!!

Also, what is this new "Shadow Mesh". Will that help in any way?
Please HELP! It's so frustrating!

Godot version Godot 4 Beta 2
in Engine by (12 points)

1 Answer

+1 vote

I want to make the shadow of an object less opaque without affecting the shadows of different objects.

This can be done by duplicating the node that casts shadows, setting its Cast Shadow mode to Shadows Only and using a custom shader to make it dithered: https://github.com/godotengine/godot-proposals/issues/3276
The shadow is still technically opaque, but it'll use a dithering pattern that makes it look semi-transparent.

You'll then need to change the original node's Cast Shadow property to Off, so that no opaque shadows are casted.

Wasn't this supposed to be fixed in Godot 4? It's driving me nuts!!!

Cull Mask only affects lighting, not shadow. There is currently no property to exclude certain meshes from shadow rendering for a given light only: https://github.com/godotengine/godot-proposals/issues/3606

by (12,721 points)

Thank you! At least i can do something about it now :)

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.