Lightmap bug ? ugly artefact....

Hi =)

I come here because I ve a big problem with UE4…

It’s totally ugly :s ( and I’m in production quality)

I tried many, many, manyyyy solutions without success.

I tried to :

  • adapt my modeling way ( i tried to modeling moulding in one part, include in the base mesh )
  • stichting my UV’s, modify island padding, etc…
  • to make my own lightmaps ( in chanel 2 )
  • change resolution lightmap ( here, it’s in 2048 for the wall, and 512 for the panel )
  • disable generate UVs Lightmap in mesh setting
  • modify world setting

I don’t see other ways to have a clean wall, and clean molding.

If you have an idea…

Hey Alec-

What you are experiencing is an artifacting of the light map across your seams. To minimize this there are several steps, most of which you have already tried. If you place your UV’s that you have seams on at the edge of the 1-1 space or where the tiling ends then you can greatly reduce the artifacting. What I see in your picture is that the seams end somewhere between that space or in between tiled areas. What happens is the vertex shader tries to calculate this information and it can’t on something that essentially has no information other than information between two vertices. Your thought process is correct you will just need to tweak your light maps. Depending on how many channels you have depends on what number the light map should be. By default it is zero inside of the editor and if you add a light map you will want to change this to 1 and so on. I will link you some documentation on how to set up light maps for the engine.

Thanks,

Everything is set up by channels. Like you mentioned your diffuse/albedo is channel 0. Depending on if you used multiple lightmap channels those will correspond with what channel you choose inside the engine to correspond with that mesh. So, the first lightmap channel that you make after your diffuse/albedo channel will be assigned to channel 1.

Looking at your UV’s for your second image on your lightmap channel i can already see the issue. You see where your UV’s and the points on the Map are in between the boxes. Essentially what that is doing is trying to calculate some kind of data. That data is computed in the lightmap and then assigned to your model. So what the light map is doing is computing vertex information on something that is essentially just a line and has no RGB value. When the lightmap artifacts like that it is the program trying to compute that RGB information along a numerical value between the two vertices.

In order to minimize this effect what you would need to do is to adjust your lightmap UV’s so that your outside lines fall in between the boxes on the grid. This minimizes the artifacting that you see. For more organic objects you would use a bump offset to move the values of your map slightly off of wherever you put your seams. I would not suggest this for walls and more hard edged objects.

Lastly hide your seams in places the player/viewer will never see. While this method reduces the effect it doesn’t eliminate it completely. In truth there is nothing to completely eliminate this problem there are ways to hide/minimize effects of the lightmap artifact. Also manually stitching together the geometry so that the map is one piece or very few will help as well. The lightmap has an easier time being calculated if it’s calculating for one set of uv’s as opposed to 20 like you would see if you tried to automatic map.

I hope this helps,

Hi ,

I think I understand most part of your answer. But, I don’t know what i must do :confused:

It’s my Chanel 0 ( just texture chan so )

and my Lightmap chanel :

I don’t know what I can increase …

somebody can help me ? :confused:

Hey Alec,

If you scroll up to my answer there is a link to all of the sources for how to set up light map files and the entire process from a modeling program to UE4. I will link it again here.

Here is also a link to some lightmap troubleshooting.

Doing some external research and experimenting will help you better understand proper implementation.