Calling all Lightmap Experts

Pulling my hair out on this. Original Maya FBX imported with auto generate Lightmap UV checked.

However on inspection of some individual meshes noticing HUGE issues with missing, broken and overlapping Lightmap UVs.
The attached is one example. My texture UV looks perfect.
But even after applying changes cannot get something that looks usable for my Lightmap UVs.

(channel 1)

settings

1 Like

Is the 1st image the result of the autogenerated lightmap built from your 1st channel? I would change the Min Lightmap Resolution to 128 for that mesh. But that isnā€™t the problem.
I had that happen in 3ds max. I guess it can also happen in Maya. It could be that some of your mesh polygons donā€™t have a UV. There are hidden polygons inside your mesh and they donā€™t show up on your UV chart. Sometimes those are just long stretched polygons between other polygons with no width. In max you can select all polygons of the mesh, add an UV unwrap modifier, open the UV unwrap window and deselect all visible charts there. Then see what is still selected on the mesh. Hope that makes sense. Another trick is to select all vertexes, break them, then select them again and weld them back together.

Short answer: it is a mesh problem and nothing you can fix in unreal as far as I know. If you need help just attach the fbx file and I have a look.

Thanks for the kind offer. Yes I tried several resolutions for the Lightmap.
I always thought that Unreal used the texture UVs to generate the 2nd Lightmap UV channel?
And since my texture UVs look correct, puzzled why my Lightmap UVs are broken.

I should be using the existing UVā€™s for the seams to generate lightmap UVā€™s. If youā€™re using Maya and your texture UVā€™s can work for the lightmap then thereā€™s no reason to use the auto generate lightmap UVā€™s option in UE4. Even then, since the feature requires an existing UV channel with proper UV seams then in Maya you can still have it automatically unfold your UVā€™s better than UE4 will.

To disable the auto-generated lightmap in the mesh editor window. Untick ā€˜Generate Lightmap UVsā€™ seen in the image you provided and hit the [Apply Changes] button at the bottom.
Then you have to actually set the channel your mesh should use for the lightmap. This is further down in that window under ā€˜General Settingsā€™. Set your Light Map Resolution there. Also set the Light Map Coordinate Index to the channel you want to use for the lightmap. You may have to click on the little arrow to expose the setting. These settings are the actual lightmap settings. The settings in your image only generate a lightmap. They donā€™t set the correct lightmap channel and resolution.

mesh general settings

The issue is that the ā€œGenerate Lightmap UVsā€ is ambiguous, and may imply that the algorithm actually both Unwraps and packs the UVs. The problem here is that the Lightmap Generation algorithm in unreal relies on some already existing UVs. Yet itā€™s something that is not properly conveyed to the user.

So when you import a mesh that has no UVs or has UVā€™s that werenā€™t properly unwrapped (for example containing 0 length edges), then the automatic Lightmap UV generator will just take that garbage in and output garbage out.

So in a nutshell, you need to have some at least acceptable UVs to begin with, for it to work properly. They donā€™t have to be carefully hand UVd at all. Some very rudimentary automatic flatten and pack process will do.