I’m working on a memory mechanic for my game, which involves interacting with a predefined item. The item stays in the same place, but the environment changes to denote the past (going into a memory). My specific problem case is this:
Inside a room with lights, among other things, there’s a paper. Interacting with the paper causes the surrounding items to dissolve out and other items to dissolve in. (There’s an elaborate dissolving VFX achieved with material functions.) The lights switch off, and the directional sunlight rotates to shine through the windows. If the location is to be same, the wall materials are updated to denote newer paints. If the location is different, the walls and floor and ceiling also dissolve out to make way for the newer architecture dissolving in.
The problem crops up with baked lighting: In the initial setup of the room, the baked lighting gives a nice ambient look to the room. However, once the lights are switched off, the baked lighting remains in place. I know this has been encountered by the community a bunch of times, but so far I haven’t come across a solution that’ll give the same warm ambient feel to the lighting. Also, the new sunlight that shines in, being dynamic (movable) doesn’t provide the indirect lighting as expected.
But a further problem arises if the location is changed. Supposing a different room with all precomputed, baked lighting is available, how do I make it appear in place of the previous room, without destroying the baked lighting? Is there a way in which I could bake lighting on two rooms, one which is visible (and going to dissolve out) and other which is invisible for now (and going to dissolve in)? I really intend to avoid teleporting the player to the new location as it would break the dissolving VFX.