I’m having trouble lightmapping a object in Maya and UE4. I have trouble dozens of lightmaps (uv channel 1) and re-importing it back into UE4 only for UE4 to tell me that it has overlapping UVs by 1.7% which it doesn’t. I am very confused on why its telling me that it has overlapping uvs. I have a link below to take you to screenshots of my problem. Automatic lightmap generation does not work for me as it makes a terrible lightmap for this object for whatsoever reason. Any help would be great!
So what I have done is recreated a scene in Maya with a simple cube and tried to re create the problem you are experiencing. You have done the pipeline the right way for setting up a light map channel and importing that into Unreal. I will link some documentation to you on the whole workflow as well. There is a step in there where you have to assign the material to receive the light map channel that you set up. The other thing is look into some documentation for how to set up your UV’s in Maya so that the pixels that you are trying to call are not on your seams when you unwrap your geometry.
Here is the link to the UE4 website.
Here is a link to some documentation about proper Light Map UV unwrapping.I hope this helps and pls let me know if this works out for you or you have any further questions,
What step are you talking about where I have to assign the material to receive the light map channel that I set up? I’m still confused even with the documentation on lightmapping objects. I also fixed the problem last night by just scaling the uv map into the 0,1 ratio (not the lightmap uvs). Then the problem went away. I still don’t understand why it works now.
Also what if I have a very complex object like a damaged pile of rubble concrete with tons of triangles faces that is not easy to UV map at all?
Why do we still have lightmapping today? It’s 2015, it should be completely automatic or a lot simpler than this.
In your mesh under LODO there is a build settings tab. Towards the bottom there is a tab that says Source Lightmap Index. By default in Unreal Engine it is set to 0. It assumes this is like a BSP brush that comes with it’s own written light channels. When you create a mesh and import it in with a Lightmap channel that value assigned to that channel is 1. What you need to do is change that index from 0 to 1 so that your mesh will allocate that channel for the Lightmap.
As for the next question I recreated a simple box and then made the UV’s fit a One to One scale for the lightmap channel so that the pixels would not try to calculate on a seam.
Lastly, for more organic shapes. Characters, rubble piles, etc. What you would do is create a detail normal map. Assuming that you have hidden the seams well you can use a bump offset to minimize the affect of the light map artifacting. At this point in time there is no way to completely eliminate that. The best you can do is actually hide and minimize as best you can in areas that the player would never see. I.E under arms, under the rubble pile.
Hope this helps,
So it’s okay to sometimes ignore the problem if it’s very minimal like 1-2% overlapping for organic objects. How would I use the detail normal map to minimize the artifacts?
Basically a bump offset will add some value, lets say a crease in some clothing under a characters arm. By offsetting this normal it will move that information off of that seam slightly. Essentially, this will help slightly cover the seam itself and the harshness of that artifacting over the seam will be minimized. This will not completely eliminate it but between the hiding and the minimization, along with some texture work this should hide the obviousness of the light map.
Ok I understand a bit more now. Thanks a lot for the tips. So a detail normal map should be used instead of a regular normal map for situations like this? or do I combine the detail normal map and base normal map?
Combination of the two. It comes down to what you can get away with and what situation you are using them in.