Hello! I’m developing this game, a top-down 3D platformer, and the light/shadows on the levels are positioned in a 45º angle. It’s ok in a graphics perspective, but in a gameplay perspective sometimes is hard to land a precise jump due to no indication where to land.
(I know that probably PSX did not rendered real time shadows, but that’s a good example).
Is it possible to do that in Godot 3 using real time shadows (using render layers or some shader technique)? Or the only solution would be a physical Sprite3D simulating the shadow with a RayCast?
Unfortunately, it seems you can’t enable shadows in more than one light in Godot 3, it breaks all shadows, probably that was noticed by others as well.
I managed to get the result I wanted by using an SpotLight with negative enabled, then I can have player ‘shadows’ even if he disables the shadows on the options menu, the best of both worlds.
By using the negative light solution I stumbled into another problem… The light passes through the meshes, looking pretty bad, specially when on a moving platform. I can set the culling layers for the light to not affect the character, but in the ground it’s inevitable. This happens even in Godot 4 (Forward+ renderer), in which I though would work as expected. Any ideas if I’m doing something wrong?