Hi, I’m working on a archviz project for a L-shaped office floor.
The building is quite big and it has a curtain wall facade, so you get to see a lot of what’s outside (but the player can’t go out)
I would like to use baked light to get a better GI inside the office. The exterior part has a lot of meshes and trees, so I would like to use only dynamic lighting to avoid building times rising up too much.
SubLevel A: Office floor with lights and sun (Sun and Skylight are static or stationary, tried both)
SubLevel B: Everything that’s outside the office floor (no lights/skylight/etc… just static meshes)
Everything in A is fine, with the lights baked etc… but what is in B doesn’t look right.
Pretty much every project uses a mix of dynamic and static lights. This is the expected way to work with the engine.
If you’re having a problem you need to be more specific than “doesn’t look right”
Edit: Also it is not necessary to use a streaming level for this. If you don’t want lighting baked on certain objects just set those meshes to stationary or moveable.
The objects in B don’t look right because they look totally flat (no difference between the parts looking at the sun and the parts looking at the opposite) and cast a very light shadow.
They look right if I set up the Sun and skylight to movable, but that’s not what I’m trying to achieve.
Talking about setting the meshes to stationary/movable: are there higher performance cost (maybe for physics, even if they stand still, I don’t know) ? Because the exterior is made of a lot of objects.
You’ll most likely need both your sun and skylight to be stationary, and you’ll have to bake with CPU lightmass, as GPU lightmass does not currently support stationary skylights.
Stationary lights cast both dynamic/static light/shadow which is what you want.
Stationary actors can’t move so I don’t think there should be any performance impact beyond the increased rendering cost of using dynamic lighting/shadows.
Foliage instances also can’t move as far as I know, so I assume “moveable” foliage essentially behaves like a stationary static mesh actor.
For a definitive answer though you should just test it.