Baked Lighting Variation Between Static Meshes

That’s something they’re looking into, not sure if it’s still in their plans but I wouldn’t be surprised to see it

So the only decent solution to this problem is in the first post after all. The rest is on the line of “waste more baking time”, “give up the modular approach” or “hide the seam with more geometry”. I’m new to UE4 but I thought at this point something so basic should have been addressed already. I don’t see how grouping/tagging planar objects together to have a uniform shading (like a starter pack “wall” and “wall window”) should take longer than hiding the problem with the methods suggested in the other replies. With so many people coming from arch/viz these days is clear the value of a clean flat wall. I’m talking in particular of indirect lit areas like walls.


Multiple objects, LM resolution 256, default setting 1m20s.


Multiple objects, higher LM resolution, Static light level scale 0.1, Indirect lighting quality 4, 16m10s.


Single object, LM resolution 2048, default setting 1m28s. NOTE: the solution quality can be improved splitting non contiguous surfaces and assigning higher resolution LM to each specific object.

To me seems clear that the solution at this point is:
*Snap LM UV point to the pixel grid to avoid leaking at lower resolution.
*Use modules to create your level then export/re-import the parts that have to be contiguous.
If someone has a better solution that won’t increase the polygon count, baking time etc. please let me know. Ideally you should be able to move each object around but with this approach this is not possible since you have to export/re-import some parts.

My solution has always been to put seems where there would be seams in real life, and try to match up seams in textures where lightmap seams would be. Doesn’t take any extra time or tweaking.

Ok but if you have 3 walls 3m, 6m, 12m, that are similar what will you do? Create unique object for each one of them? Is not really the best way to deal with the problem in the gaming world from what I’ve understood.

The only drawback with a unique mesh is that it’s not as reusable for the level designer and that it takes few tens of kilobytes of memory. Geometry is really cheap memory wise.

…plus textures, UV vertices, maps, material etc. I thought the point was to save memory and use instanced meshes.

You don’t have to use unique textures with unique meshes. You can still use tiling textures as long as you UV map them correctly. Same goes for materials. Cost of UV vertices is negligible.

Of course you could do it but what’s the point of having 3 unique assets when you can repeat one and have the same effect? Also, the topic here is how to tell lightmass to treat 2 planar walls as one unique surface.

And my point is instead of using two planar walls, use one wall. One big wall vs multiple small ones is better anyway for performance, you’re rendering less polygons and doing less draw calls (assuming a simple cube like wall).

I understand perfectly but that’s not the solution if you want to follow a workflow like this Modular environments. Do you have a solution for this specific problem?

I’d just make larger modular pieces in that case. Instead of a 1 meter wall segment, make a 2, 4, 8 and so on segments and use the largest one you can. For seams I’d make trim meshes. That’s the only working solution currently, unless you want crazy long lightmass builds :\

Most of those modular environments have elements that hide seams. Pillars, beams, lines on the textures that match up with seams, etc.

Even in simple scenes, just make it look like was built that way.

I still hope that someone from the developer team will take a look into this matter. Since the import/export trick is working I don’t see why they cannot make it work in engine. Grouping or parenting could be a fitting solution.

Would be awesome if Epic could implement something like this.

This video summarize some of the basics to get clean LM, if you still have problems export the meshes you want to join, clean the LM in an editor of your choice and reimport.

I just read this comment, 2018 still waiting or even at least a fix for the lightmapper that still broken in 4.18 with the new lightmap system. Good to see you’re waiting for better hardware when the PS3 games had realtime GI aswell PS4, still no solution here at proper FPS.

Seems then like still no solution for this problem other than don’t use modular parts.

The lightmapping system is definitely something they should fix, at the very least they could just give us the option to set groups of objects that should be processed together.
As for GI, there is no fully dynamic GI system, every system right now is specifically optimized for the game that uses it and isn’t something that works in all the situations that people need. The biggest problem is that Epic still has to support the Xbox One. If they moved to a new generation then they’d probably be able to implement a dynamic GI system that works on most gaming PC’s and the new generation of consoles.

The only reason Epic hasn’t allowed the users to group meshes to be light built on the same thread is because it’s not too useful in games, and this is only place Epic makes money. ArchViz? Epic is just using it for free publicity for UE4.

No, I’m pretty sure that everyone would benefit from that, there’s nothing unique about how archviz would need that feature that isn’t applicable to games in general. I think they’d rather have some kind of automatic fix and simply haven’t tried to do anything to solve the problem or make a workaround for it.

*Right-click “Creating single static mesh from selected actors” and replacing the single ones could be a workaround *(it happened again)

“Force Volumetric Lightmap” in the object settings might help