Best Practice for extensive interior level regarding Build Time

Hi!

I’m still much of a beginner in UE4. What I want to do is building a rather big interior level for a fly through with a camera (export to HD video). So realtime performance isn’t important.

My level will be completely interior (closed Dungeon, only Point Lights and Exponential Height Fog, no outside view) but pretty big. Amount of meshes (Marketplace assets) supposedly around 10.000-15.000 in the end, maybe ~500 light sources (torches and faint point lights to light up dark corners). There are bigger halls, medium rooms and narrow corridors. My level can be divided into several (~4-5) “sub themed” levels, but the transitions are to be seamless.

I already built the first 10%, and after placing just a handful of lights I noticed the Build time going up to 30 minutes (Preview quality).

What are recommended practices for big interior levels regarding lighting and acceptable build times? I need reasonably decent quality and I’m fine with the final build taking up to 80 hours. What can I do to keep my level in these limits? Is working with sub levels (/level streaming) an option? Do Lightmass Importance Volumes make sense for interior scenes?

What I already figured to reduce Build time:

  • World Settings: Reduce Static
    lighting level scale to 4
  • Reduce or disable lightmass settings for meshes that take long to build according to statistics (like prison bars)
  • Set Lightmap resolution to 32-64 for all objects

My PC Specs, if important: Haswell-Xeon 4x3,5Ghz with HT, 32GB RAM, GTX970, SSD available, Win 8.1

Thank you very much! :slight_smile:

Don’t know much myself, but watching some videos like Unreal 4 Lighting Academy....or something like that ;) - Community Content, Tools and Tutorials - Unreal Engine Forums led me to believe, that you can work around a lot, using combinations of static, stationary and fully dynamic lights.

It seems, each light source increases build times. So possible answer could be to move away from heavy usage of static lights everywhere, especially if you are making a video, and not a game. You should see, what light sources should give noticeable amount of indirect light. (That’s usually just the sun+sky, really). Those sources should be made stationary/static. Some kind of ambient summarised lights could be entirely static, and detail lights (fire, candles, lamps, all that) should be movable or stationary.

Also, whatch affect distance! You shouldn’t have lights with too big radius (and standard radius of 1000 is pretty big). Big numbers can mess your scene up. For movable lights that strains your GPU in game. For stationary that creates Stationary light overlap error. For static that increases build times.

Design your stuff around this, and that should help. Especially considering that your scene is on medieval theme. That means lots of fire and candles and all that, and making them static won’t be the best solution, Better make them fully dynamic, and add some light functions to spice it up.

Importance volumes makes a lot of sence. Place them where you think you’ll have a nice lighting bounce. Like a room (or even a half of it, really), that is brightly lit by the sun from windows.
Don’t place them in areas where it’s not neccesary(or where you want more contrast, concentrated light and shadows), and that should reduce calculation time drastically.

But there is a catch with new volumetric lightmap system in 4.18. Movable meshes outside of the lightmass importance volumes will most likely be lit incorrectly (if they are, for example, in dark room, and there is daylight outside). Unfortunately, that means you’ll have to place importance volumes everywhere, where you’ll expect a movable mesh.

Thank you very much for that detailed answer already! :slight_smile: What I was also wondering: Is it advised to create multiple sub levels and build the light for each individually? That would decrease the risk of having days of building time with possible crashes because of insufficient RAM.

Welcome!

Well, I can’t say for sure about that, sorry. I’ve tried that multiple times, and it kiiiinda worked on .18, but there is a risk it’ll just delete all lighting data on loading the persistent level. Happened a couple of times on older versions, when I tried that. And if you rely on skylight for some parts of the lighting, it seems you can have only one skylight for all sublevels. (At least, I had an error message telling me that, when I tried to merge two levels) For completely enclosed interior it shouldn’t be a problem, though.

So, you could try that. Maybe it’ll work, But I know for sure, that some enterprise users actually rewrote the lightmass to make that kind of separated build more usable and stable. (saw in some devblog or another)