Is there a way to make baked lightmaps that move with the object casting a shadow? IE if you have a crate you are pushing, or a door that casts a shadow when closed but not when open.
I understand that lighting probes are supposed to help with moving objects but I don’t see how they can help with cast shadows.
I’d be sort of satisfied with hard real-time shadows cast by dynamic objects, and nice soft shadows from all my static objects. BUT when I try setting my directional light to “mixed” it seems to stop casting any shadows at all (either with baking or from non-static objects).
Really, all this lightmapping feels like overkill - I’m just trying to get significantly softer shadows than you get from selecting “soft” as my “shadow type”, I don’t really need multiple-bounce mutual illumination, colored lights, etc. And I want to stay away from real-time raytracing, eg I’d like GTX 1050 level hardware as my recommended GPU for players.
The only out-of-the-box way to have shadows that move in realtime with the object casting them is to use realtime shadows. Baked/lightmapped shadows are entirely static.
As for your issue with Mixed mode lights, which Lighting Mode do you have selected in the Lighting Window? You probably want Shadowmask or Subtractive. Each mode causes Mixed mode lights to act differently.
if I switch to subtractive I get the soft shadows from static geometry, but my real-time shadows look like they were applied with the “burn” mixing option in photoshop, or something.
So, does actually look like expected behavior. Let me try to explain.
When using Shadowmask mode, Mixed Lights will have their indirect (bounced) contribution baked into lightmaps, while the direct lighting remains entirely realtime. Additionally, shadowmask textures will be generated containing baked shadows.
When to use baked vs realtime shadows is actually up to the user - Shadowmask mode comes in 2 variants: Distance Shadowmask and ‘regular’ Shadowmask. In distance shadowmask mode, which is the default, baked shadows are only applied for objects that are far away from the camera, and nearby objects will use realtime shadows. In ‘regular’ Shadowmask mode, baked shadows will always be used. It sounds like you want the latter. You can pick between these variants via Project Settings:
When using subtractive mode, the shadows are baked directly into the lightmap. They are indeed mixed with realtime shadows using something akin to photoshops burn effect. Subtractive mode is mainly meant for games running on very low end hardware, which can’t afford many realtime shadows or additional textures. One might call it a ‘hack’.
Perfect! Regular shadowmask is what I needed. It seems like maybe that should be part of the lighting settings rather than hidden inside project settings (and also, therefore, global).
Now my real time shadows mix with something like a “max” operation which isn’t necessarily realistic, but also isn’t obviously bad like the subtract option.
The remaining issue is that those hard shadow edges really stick out (literally!):
in this situation the glowing red panel is an openable door and needs to cast a Realtime shadow. Is there anything I can do to soften that shadow more? I already have “soft shadows” selected; it barely makes a difference over hard shadows.
Meanwhile, it would be so helpful if there were something like a cookbook of sensible settings combinations (ie whole projects) that targeted lower or mid-range platforms and show off the best unity can look without HDRP (or even, with and without baked lighting), for a single shared scene so you can compare quality and performance tradeoffs. I know you offer example projects but they all seem to all target much higher system requirements, ie RTX video cards etc, and each one has it’s own dedicated and entirely unique scene.
It seems that NGSS (Next-Gen Soft-Shadows | VFX Shaders | Unity Asset Store) is pretty popular for this, but only works with the built-in RP, and it’s kind of hard to evaluate the performance hit since there’s not even a compiled demo let alone a trial asset.