Download

lightmap error questions

After running a build, I get this report. I did a search in the docs, but nothing seems to cover this. How do I fix a lightmap and how do I enable error coloring? I did not make a lightmap externally. I assumed UE did this itself automatically. Anyway, I see a few discolored areas of the floor mesh that must be the result of this.
And while I’m at it, when I made the UV maps for both of these meshes in Blender, I just took all of the quads and stacked them on top of one another so that they all get the same texture. Otherwise I imagine I would have to make a huge UV map, like 16384x16384 or something absurd like that. UE also is flagging me for overlapping UVs. But it doesn’t seem to be an issue. Is there some better way to do this, or does it really matter that much?

If you import an object without a lightmap, it will be generated. The results will vary, depending on the object and the lightmap generation settings. If you are not satisfied with the results or want to get rid of the errors, then you need to either re-adjust the generation settings or make the lightmap yourself. You can make a lightmap by adding a second UV channel to the object and making the lightmap UV-unwrap there. This does work with blender.

Note that texture UVs and Lightmap UVs work slightly differently and you should consider this when creating the UV islands and choosing the lightmap’s resolution.

https://docs.unrealengine.com/en-us/…tmapUnwrapping
https://docs.unrealengine.com/en-us/…ratedLightmaps

You can inspect the second UV channel in the static mesh editor inside UE4.

UE4 does not support overlapped UVs. So it would be wise to not stack up the UVs on top of each other like you mentioned. To avoid light map UVs overlapping error - you can let UE generate Lightmap UVs for you. Process - Go to Static Mesh Editor -> Build Settings -> Generate Lightmap UVs

Hope this helps

The automatic option in UE4 is not complete, it takes existing UV’s and simply flattens and packs them out, meaning that the UV’s have to have the seams set up already.

Ok, yes, both replies are helpful, but check it out: I made a floor mesh for my room which is comprised of a couple dozen faces. I have a 1024x1024 texture that each face (or quad, whatever you choose to call it) uses to get a somewhat high res appearance without having to make a ginormous UV map for the floor. In order to reduce draw expense, I am trying to avoid having to use separate meshes for all of those dozens of floor faces. Is there a better way to accomplish this? I’m thinking maybe some sort of tiling mechanism?

To darthviper: so if I have a UV map where nothing overlaps, the UE-generated light map should work?

The typical workflow is this:
First UV channel is for materials, this can overlap and extend beyond the 0-1 UV space
Second UV channel is for your Lightmaps, this must not overlap and must not extend beyond the 0-1 UV space

If you create those UV channels yourself, then you need to make sure to turn off Automatic Lightmap Generation when you import.
If you do not disable that option, it will take the top UV channel, copy it to a new UV channel, and then run an algorithm to flatten it out and repack it, but like I said, it requires that the existing UV’s that it copies already have the seams created.

If your first UV channel does not overlap or extend beyond the 0-1 UV space then you can use that for the lightmaps as well. UE4 will assume the second channel is for the lightmaps, if you don’t have a second channel then it’ll use the first channel.

If you want actual automatic lightmap UV’s, 3ds Max has an option for Automatic Flatten UV’s, it will go through and split edges if they’re beyond a certain angle and then pack everything, however, that will not produce the best results for lightmap UV’s
For best results, use as few lightmap seams as possible so that it doesn’t waste so much space between UV islands, and try to have UV islands that are similar in size so avoid long skinny islands or very small UV islands.

Thanks guys. No more error reports on the meshes I fixed using the info you provided. I still wish I could get all my lighting to work like I think it should. I am sure my frustration is due to my lack of knowledge and I will get better results as I learn, but so far even making something very simple in UE seems to take an inordinate amount of time and I cannot at all accurately predict how each change I make to the level will affect it.
Tell me it gets better, plz

Some of it will change in the future, Epic is currently working on improving the light baking system which I hope will avoid many of the errors and issues that Lightmass has now. For example, you could do light baking in your 3D software (render your lighting to texture maps) and get much better results, but it does take longer (and sadly there’s no way to render lightmaps properly in another program so you couldn’t render them in 3ds Max and then just use them in UE4)

Not sure if you already managed it to the extent you wanted to,but… the texture UV map and the lightmap UV map are entirely separate, and the way how you unwrap them “properly” is a bit different. Especially for floors I don’t think there’s much of an issue. Look at the documentation:

Getting lighting to work is something that is recommended to be done properly early into the project. I don’t really know what issues you might have with lighting, but going through the relevant documentation should help with the process. A lot of beginners also have some issues with exposure / eye adaptation settings, I recommend getting familiar with those as well.

Most of the processes in UE4 take a while to get started with but once you are used to them, the tools allow you to be more productive and have more control over the process. I reckon it’s more done with specialists in mind but that hasn’t been an insurmountable obstacle for me so far.

To JoSf: Yes, I am making my lightmaps in Blender using it’s lightmap pack option under UV unwrap. Seems to work pretty well; we’ll see how it does with more complicated models later. Channel 0 for texture map, channel 1 for lightmap. Which brings up a new question: what if I have two different UV maps just for texture and make the third a lightmap? Will UE ALWAYS default channel 1 as lightmap, or will it use the last one on the stack (in this instance, channel 2)?
Thanks for the encouraging words, JoSf. I’m having an easier time with UE than I did when I started using Blender eight years ago. I wanted to throw my PC through the wall!

For ambient lighting, I am now using a skylight with a light importance volume. I have a few point lights here and there just for accent. Bear in mind this is an interior level, a dungeon, if you will, and there is no need for atmospheric fog that I can see. Currently it is pretty much doing what I want it too, accept that the ambient lighting is too bright. If I lower the intensity, that only causes the level to take longer to come to full light at startup, but then it gradually builds up to a too-high brightness again. Changing the color of the skylight to near black also doesn’t work. How do I dim the skylight for less illumination? And is there a way to adjust the light importance volume for maybe less photon bounce?

Also, how do I get the room to come to full brightness instantly? That must deal with exposure/eye adaption (?) I’ll look at the docs and see if I can find an answer there, but so far, my experience with UE documentation is this: in order to understand it, you have to already understand it.

Thanks again for all the help, guys.

I have personally not tried importing objects with more than two UVs, but in my experience, it takes 0 for textures and 1 for lightmaps. The documentation linked earlier speaks of lightmap coordinate index, which can be changed. Quick search seems to suggest that UE4 supports up to 8 UV maps per object.

As for which one is picked for lightmap by default when importing an object with more than 2 UV maps, I don’t know - but it shouldn’t be too hard to test it to figure it out.

Regarding the light, you can change the default exposure settings in the project settings (rendering tab), or override it in post process / camera settings.

Ok, I’ll check it out. BTW, I DO have atmospheric fog in the level and I just discovered that I can change the ambient brightness by adjusting the default brightness of the atmospheric fog.

By default, it will set the second channel for the lightmap (if it exists) even if you have more than two channels.

Ok, darthviper. Thanks for that. I think I am done with this thread; all of my questions have been answered and problems solved. I’m happy again.