After building lighting is all different shades

Hey guys!

I have an interesting problem!

I have been working to get modular, and made a little scene thing. I placed all the meshes, and built. This monstrosity was then born:

See how the different meshes have random shades (of grey hehe)?
After I select all of the meshes and translate them slightly, they return to a better state:

In other words, thebuilder is causing this… but idk why. It was working before, but just started doing this. My lightmaps are 64, and changing that doesn’t seem to do anything.

Thanks a lot!

I believe it is happening because the lighting gets baked into each mesh on a different thread, causing slight variations. Unfortunately I cannot provide a full workaround, I have no experience in this, but in this case you could try and use bigger modules to make it less obvious.

[EDIT]

I found this thread about the same issue, check it out:
https://forums.unrealengine.com/showthread.php?46269-Modular-Asset-Lighting-Problem

This is a problem that can’t be fixed… the thing is that there can be slight differences between threads so the objects were the render lighting is different. Modular and building lighting don’t work well together.

But exactly that is the case. Its called “Irradiance caching” which speeds up sample calculations by interpolation with neighboring points. Only if not enough neighbor points that have already been calculated, the sample gets calculated.
It would be kind of difficult to define some sort of sync point during the gathering phase to update all possibly affected samples…

One option of course would be to run the light build on a single core CPU machine :stuck_out_tongue:

Thats what I thought. But they do work well together, it just needs a slightly different approach to the concept of modularity…

If you raise the lightmass lighting quality to like 10, it could reduce the disparity between meshes and once materials are applied, it ‘‘could’’ look okay!

If you slightly move your meshes you break the lightmaps and you go back to dymanic preview, which is why it looks better.

Try to build your scene once with very high quality lightmass settings and tell us if it’s better. something like scale 0.2, bounces 30+, quality 10, smoothness .75 and even try with uncompressed lightmaps.

Also, make sure you use static meshes and not brushes (bsp). Brush resolution of 64 would be catastrophic. For BSP you gotta use a lower value to increase quality. 32/16/8/4/2 etc. The lower the better but it’s still worse than a static mesh.

Sigh…

Nothing seems to work. I guess what Ima try next is to turn it into a blueprint (instanced meshes inside a blueprint), since they aren’t built lighting would this help, or make things worse in another way?

EDIT: Okay, looks like this doesn’t work as well. Well, now what!? How can I add windows and anything without having this happen? This is very troubling ;_;

Hi,

Unfortunately this is an issue that you cannot avoid, you can only make it less bad. This happens to AAA titles as well, the difference is that they are **** good in hiding it. First, I would use much larger modular pieces, so the issue won’t be visible every 5 meters in the game. Consider your floor for example. If you are planning to use a tiling texture there is no need to actually tile the geometry itself causing additional draw calls, you could build the same floor using only 1 or 2 meshes.

Okay, you reduced the number of pieces, but you still have some seams where they touch. A common method is to cover those up. When you apply materials (with proper textures not just colors) it will be much less visible and you can also use some other meshes to cover the seams (pipes, pillars whatever). Play around a bit and you will get much better results, but as I said unfortunately they won’t go away completely.

A lot of this can be fixed by clever lighting.
I made the observation that the seams get more and more pronounced the farther they are away from a lightsource.
Just place some modular wall meshes in a line and place some pointlights in a way that there is a dark(er) zone in between.
You will notice that a modular seam that is in direct biright light will never how any seams, but the darker it gets, the more seams.

While this is true, it might be not the most efficient solution resource-wise. Also, from a level designing perspective, lights shouldn’t be placed to fix errors.

In my humble opinion, as I mentioned, you need to reconsider the size of your pieces, and only use modular ones where it is necessary. It is not ideal to build your level entirely using modular pieces.

Here is a link that shows some examples:
http://wiki.polycount.com/wiki/Modular_environments

Yeah, usualy you dont place them to hide stuff :stuck_out_tongue:

Sure, that on top of all other considerations.

One thingI forgot to mention is that I will not be using textures in my game, cause that’s the artistic design. I’ll try to hide the seams with other stuff, I guess…

My solution was combining tiling meshes into larger pieces. Any contiguous surface should be made up of a single mesh. For example if you have a hallway, that area should all be one mesh. You can achieve a balance of variety and consistent lighting by breaking the meshes along natural seams. This is an unfortunate problem that unreal has, but can be fixed rather simply. You want to have the pieces not be too large in size because the larger the mesh the larger the lightmap resolution has to be to achieve decent lighting results. Avoid large open rooms, if it is necessary try to hide seams with geometry.