I’m currently in need of a way to make a light that only casts shadows and does not apply any light to the scene or any objects. I know its possible to have a light with a very low intensity cast a shadow but this does not work for my current needs. I’m not familiar enough with how shadows are done in engine to understand if this is possible with custom shadows, or custom code.
Perhaps you should look into Projectors
I had a similar need, for which Projectors would not be the answer. I wanted to have a light that casts a shadow under the character - which moves of course, so the shadow would also have to move. The purpose is to make it so that you can easily see where the character is over the ground when they jump. Without it, it’s hard to tell whether you’re in the air or just further away from the camera.
My solution was to do this with one directional pointed straight down with a very low intensity to cast the shadows, and a second directional with no shadows and higher intensity that serves as the primary lighting. (Also some point or spot lights for localized effects, but that’s unrelated.) To avoid the washed out effect, I subtracted the shadow-light’s intensity from the original fill-light’s intensity, and it looks almost the same as it did with just the fill-light and no shadows. Not ideal, but may be the best you can do without some really heavy shader coding.
I’m also needing something like this. All my lighting is done using lightmaps and light probes, I just want a dynamic shadow for my character, but is it somehow possible to skip all the lighting computation on the shaders and just do the shadow projection? I think it would be much more efficient.
Maybe this can help?
usually, the objects themselves have a check box that have Cast shadows and receive shadows, The free edition of unity now has shadow support for Directional lights though