

A lot of different game styles could work with a single directional light, with different possible techniques (ceiling/background) for top-down and 1st/3rd-person.
Though I think I found the best way:
NORMAL = (vec3(NORMAL.x, 1.0, NORMAL.z));
EDIT: Actually, diffuse_lambert_wrap
is what I’m looking for. Although for more distinct shadows, the normal editing does look better than the other shading modes.
old edit
This helps make shadows look better (by reducing them) though is not quite perfect. The shadows_disabled
render mode removes the ugly self-shadows (not other cast/diffuse shadows) but also means that objects won’t be dark from just pure darkness. Specifically my issue here is with directional light shadows, and even then it’s because it seems internal mesh can cast a shadow (the shadows are also uglier than floor shadows for some reason).
Volumetric fog seems to tie it all together, working even on unshaded and seems to pair well with a lot of settings to give different aesthetic options. Really fun just iterating on settings (lights, environment, materials, shader) in my test scene with a simple gridmap. But my editor keeps crashing.
I’m feeling a workflow here, and really liking the effort:results ratio. I have a fever dream of a scene and more ideas too.
I have been tinkering with those settings recently. I really enjoy how powerful editing the environment is, though I was getting freezing (not just Godot itself)… I think caused by multi-window mode.
I’m using untextured*+low-poly models though, so the advanced stuff is a bit hit-or-miss. Or maybe it just seems that way as small issues like light leaking are more prominent without textures.
Also when self-shadows are ugly I’m not sure how you fix that (other than perhaps not making concave details) when creating models. Doesn’t seem like you can just disable shadows via material without also scripting the sun to hide when indoors (masking likely is the solution, but that is node config).
* vertex colors, I was messing with a shader (altering normals) until I found that
lambert_wrap
is what I’m looking for to improve vertex shading. Also, fog is applied to unshaded (though you can also disable fog per-material)