I am lighting a boat cabin, the boat is floating in the waves and moving around, however i do not care for dynamic shadows as performance is more important, i’d like the scene to be lit as a static interior, i really like the look and performance of static lights but the static and stationary lights can’t seem to be child of a moving object, i can attach the stationary lights but i get a “lighting needs to be rebuilt” during gameplay
Turn on “light as if static” on the dynamic boat mesh.
Place your static lighting inside the initial location of the boat, but do not attach them to the boat.
Build the lighting.
If you try to move the lights the lighting solution will have to be rebuild, but as you just leave them in their original location this won’t happen. However, because the boat itself is statically lit it will keep the lighting from it’s initial location and won’t be updated after you move it around.
You could also consider splitting up the exterior and interior of the boat into two separate but attached meshes. This way you can statically light the interior while still dynamically lighting the exterior.
Then you are probably using stationary lights. These use static shadow maps, but dynamic highlights, so they won’t work well with this trick. Only static lights are fully baked.
Another issue i’m having with the lights not following the boat, the reflections from the static lights on the walls seem to stay behind with the lights, it seems that shadows and highlights are fully baked but reflections are a problem
What if you use emissive materials instead of light sources? You wont get indirect bounces but it will be cheaper anyway. I dont know if that light as if static trick will work this way though, since the emissive mesh needs to be static itself.
I tried that already and still use some emissive as fill lights, but the emissive lighting doesn’t look good enough by itself to replace my point lights
I think the reflection problem is obviously because the reflection capture actors are not following the boat and they can’t seem to be made movable and a child of my boat mesh
Create the best lighting possible for the interior and build the lights.
Put a scene capture actor inside and then create a static cubemap of the interior.
Use that cubemap as the ambient cubemap of a post process volume that covers the interior, and turn the most important light sources into Movable, and get rid of the rest.
I gave it a try, it helps bring some of that ambient light back but the static lights bake still looks much better than the movable + ambient cubemap combo, i’m really after that soft shadows + GI look
I baked the static lights, when i hit play and my boat starts moving the reflections stays where the reflection capture actor is and slowly disappear from my mesh as i move away outside the capture zone, but somehow my windows are still reflecting properly like the reflection from the static lights were baked?
Here is an example, you will see the white reflections from the emissive light pannels on the walls disappear as my boat moves up in the waves but the windows are still reflecting them properly
Opaque materials interpolate between multiple reflection actors (and can use screen space reflections on top of that) while translucent materials are locked to a single reflection capture. Normally the opaque solution is better, but in your case it kind of falls apart.
You could try handling the reflections in the interior by disabling the build in ones and manually adding them with a with a custom cubemap.
That works, but you can also plug the cubemap into the emissive slot for total control. The disadvantage is that you have to manually do everything unreal normally does for you, like the Fresnel falloff and roughness based blurring.