I’m trying to bake a level that has non-movable crates that can be destroyed. I want the crate’s lighting to blend with the local surroundings to help not stick out like a sore thumb, but at the same time not leave a permanent imprint even when said crates get destroyed. So I figured that I could make the crates not cast shadows, so that they’re still affected by the environment, but not affecting the environment itself.
Turns out that while the baked direct light does work as intended, either the indirect or environmental light (don’t know which one) still casts shadows onto the level from the crates. Is there something I can do about it though?
Baked lighting is precomputed and does not update during runtime. If your crate contrubutes lighting to a nearby surface and your crate is then destroyed the baked lighting will not get updated so the surface remains shadowed from the indirect lighting.
Uncheck the contribute to GI flag in the static drop down of the crate object. You then have to place light probes in your scene in order to get indirect lighting for your crates so they do not stick out. You can also enable them to cast shadows.
Alternatively you have to use realtime global illumination in the lighting settings and use realtime light sources.
Its a bug, here’s a workaround - Turn off cast shadows. Set your crate material to transparent and alpha 0. The crate will still receive baked lighting and be included in the lightmap but it will not leave behind AO on adjacent objects. You’ll need to do this every time you bake and then remember to set the material back to opaque when done. If remembering that all the time is too open to error for ya, another option might be just leave them transparent all the time and to add a little script on the crates or the scene that sets the material to opaque so it looks right when you play.