Modular Asset Tint Difference

Hi guys !

I am working on a school project and I have some issues with the light build, all the modular assets have different light intensity after building.

I searched about this problem, I found some “solutions” which doesn’t work on my scene.

I have all my Uv’s snaped to the grid, I resized the grid with 1/64 before all the snaping for the lightmap Uvs.

I disable " Generate automatic Uv’s " in UE, I have to channels, 1 for the diffuse and 1 for the lightmap with snapped uvs.

I saw a thread where someone had the same problem but after all theses steps, he just changed some settings that I tried ( You can see on the screenshots ) and the problem was gone but… Not for me and I really don’t understand why.

If someone has a solution or an idea…

Thanks !

Don’t create things that way, make things like the ceiling out of one object and make sure that they match to the edges of the room.

You are right for the ceiling but what about my walls and my corners ? If I make 1 piece for 1 room then it’s not more modular asset … 79c04dfe9a14bf4ca7c25a0e87bd1b7bfa3dba5d.jpeg 696cffe1411dba84167685139e9a2959894165a2.jpeg bd95d8c3e7fc11ca3817fe0e3cf9a327b59adbb3.jpeg

Here is my corner for exemple. Why the light does not create a clean spread lighting on 2 asset ?

Lighting gets processed on each individual object rather all of them as a group, so things that optimize the rendering speed like smoothing will be slightly different across meshes. You can try to lower smoothing while increasing quality (increasing samples to compensate for less smoothing) but the best way to avoid the issue is to combine objects where it’s going to be an issue. In a lot of cases you get better performance when the objects are combined, things like a ceiling are simple meshes and splitting it up to multiple objects increases the draw calls and doesn’t save a worthwhile amount of memory.

… or cover the seam up with a small vertical trim. The difference in shading will not be that obvious then and does not look “wrong”.
(For outdoor wlls, I usually use rain gutters and downpipes…)

several things:

-keep it modular. for absolute flat surfaces like the the ceiling or floors, create a good materials that has seamless textures. make the texture coordinates world aligned, so they dont stretch when applied to different large surface. this material then can be applied to (one each) BSP geometry and the lightning should be fine for them.

-regarding you’re statric meshes: lower the value of “static lightning level scale” in lightmass settings: this determines the amount of photons per meter. as you dont have a large outdoor level to light, rather smaller indoor, you can use a value below 1, much lower (but larger than 0). also increase the lightmap resolution of youre static meshes to get smoother lightning. do a lightbuilt at the highest quality.

-the lightning differences on youre wall modules could come from little different angles. so if you look at the connection to the right to the window the bright spot and even darker areas are ok lit up. only on the left side is a difference…does this come from different angle? also the model seems to have unnecessary more polygons on the flat area fter the curve. yes, the curve needs (more) of that vertical surfaces to make it look round, but when the curve is over and it comes to a straight wall then you should delete all the unnecessary vertical polys as these also might cause different light results.

-also make sure all static meshes have “static” and not movable or anything else set. make sure all the models you connect have the same material and lightning paramters or they might differ.

-if you really cant solve the issue, hide the seam with other geometry as suggestest. but thats a last resort and if you plan to release the modular pack on the marketplace this should be fixed first. also make sure the textures dont make seams on the connection-parts. i have the feeling (even tho its not good visible on that “empty” texture of the white wall) that if you would have a more significant pattern on the walls texture, then the modules would not line-up texture-wise.

I can’t really cover all the seams with pipes or something else because there is a lot of separation about my walls so even if I cover it with a small vertical piece, the scene will have too much incoherence, my walls have different size, one with 2meters, one other 3 meters… but I thought about this idea in extrem case

About the generic texture, the problem appear even in unlit mode so the problem doesn’t come from my texture but yeah you’re right, my material, I created it on Substance Painter and all the walls and ceiling have the same material, I just have to correct my scrachtes on the seam of my assets.

I tried to play with the these values, and there is no values which make my lighting right in one case my problem is really exposed, and in the other case the problem is quiete solved, there is no more seams but there is some shadows points every where

f66b9f8f84a51ab73c0db0dbbed52192b803b311.jpeg

2 hours later, tried a lot of combinaisons with values the problem look a bit solved with these parameters

6a4b04335724d6073a10f1500c999c292894700c.jpeg

One questions about lightmaps uvs, if i snaped the uvs seams on a 6464 grid, if I increase in the engine to 128, will it be still good ? or I will have to remake the uvs on a 128128 grid ?

and… yes all my meshes are static.

Most likely your normal does not point perpendicular to surface and you baked it that way… as standalone mesh it might look all right but problems arise when you snap pieces together. Double check your normals on mesh and eventually manually set them so they blend with other pieces.

All my normals are checked, they are perpendicular to the surface, same for the asset right next to it.

The problem with the light seams might be that the lightmap uv’s do not have enough spacing between them.
When you bake the light, the lightmaps are packed and the engine reduced the resolution by 1 on each side, meaning to get perfect light-map when set to 64x64 in the engine you have to map it to 62x62.
Warren Marshall has created a great video explaining this in greater detail:

If you want to get templates that you can use to map the lightmap, then feel free to download mine: Lightmap templates by Otixum Interactive - Album on Imgur

*To see this move a mesh, set view-mode to “Lightmap Density”, and then build light to see the difference. *

Thanks for the video, it was useful to know that, this solution doesn’t work on my assets, it’s still not lined up and all my lightmap uv’s have 3/4 pixels spacing each shells but for my next projects I will be careful about theses lightmaps because I don’t have enough time for restart this one.

Big thanks to all of you !

It’s nothing to do with the normals or with your UV’s it’s completely to do with the fact that the lighting engine processes objects on different threads. You can reduce smoothing and increase the quality to try and reduce the effect but the only way to get rid of it entirely is to make those surfaces into one object so that it gets processed on the same thread.

Hi Darthviper and fellow users, I have the same issue discussed in this thread and in the Unreal documentation is called: Shadow Seams/Shading Differences with Indirect Lighting. I understand the best way to deal with the problem is to have it as one large object instead of modular.
I am doing some tests for an archviz scene of an office floor, basically it is a massive empty floor space. I tried large modules for my floor, which module consists of several tiles and the problem is clear.

If I have one single object for the floor, I cannot have enough lightmap density to have nicer shadows. I could have one tile and have it instanced across the room, but I don’t know how to randomize efficiently variations for the floor materials ( I was thinking about 3 subtle variations). Based on these I would like to know if you could help me with two questions:

1 - Is there a correct workflow to deal with very large surfaces? I am from archviz, but I understand in games we have large scenarios and it must have a proper workflow to deal with similar issues.

2 - Is there a way of randomize materials for the floors, or select random objects from a group of objects to apply different materials?

Thanks in advance for your help.