I’ve tried disabling lightmass completely but it makes no difference. All of the lighting in the scene is dynamic. I’ve tried changing the lightmap resolution and just about every solution that I could find to no avail. The mesh is a BSP converted into a static mesh in the editor. It’s a fairly large mesh and this is the only problem area. Anyone have any insights into why this is happening? Super frustrating
If you double click on the static mesh in the content browser this will bring up the details of your static mesh. On the right side there is a tab labeled light map resolution. By default, BSP’s are set to 4 and that is derived from the thickness of the BSP.
If you put a cube into the scene, or a static mesh that is already a static mesh, do you still see this? Generally by increasing the light map resolution this fixes light leaking and artifacts like in the image you linked. If it still occurs I think it could be an issue with the lights themselves. If not we can narrow it down to BSP > Static Mesh workflow.
I tried to reproduce this issue with BSP’s that have been converted to static mesh’s and adjusting the light map settings. I have been unable to see the artifacts and light leaking that you see. Could you provide a test project where this is occurring.
You can do this by providing your .uproject file and your “Content” and “Config” folders from your projects root file.
Ok, so I have narrowed it down to a list of things and I have been able to fix most of them.
1.) This is a Static Mesh created from a BSP. BSP’s are notorious for issues with lighting due to the way they are calculated. Their light mass is calculated off of a density. By default this density is set to 4. When you convert the BSP over to a static mesh, by default, the light map uses it’s density as it’s value. So for this I adjusted the minimum light level to 1024 and the Light Map Resolution to 1024. This solves many of the base artifacts you see on the floor.
2.) The UV’s and light maps themselves. By default your UV channel is set to 0. If you open your Static Mesh’s details window you will see a toolbar at the top. On that toolbar is labeled a tab called UV. This shows the UV’s that you have assigned to your mesh. There are no UV’s when you convert the BSP over and therefore it creates some interesting UV sets. You can change this over to UV Channel 1 by clicking the Tab at the top and choosing UV Channel 1 from the list of options. This acts much like the automatic unwrap in Maya and does it’s best to calculate UV’s but it is not perfect. In short you will need to export this and do much of work on your UV’s and make sure there are no seams etc…
3.) I added a lightmass importance volume as well as a directional light and a skylight in order to add the ambient light. I set these both to movable and turned off cast shadows on the skylight. This way I have added ambient light that will fill the gaps and corners of the building and then use the point lights as direct light with some shadows. This allows for a greater degree of realism without adding too much information to the scene or taking up framerate. I set the lighting to epic and then built. I still see some seams and edges which are due to the automatic mapping but with proper UV mapping this should be eliminated.
This is a link to our documentation on uwrapping for Lightmaps and this should help clarify recommended practices. I am also sending you a link to a lighting troubleshooting guide in case you get lost there.
In the future you may look into creating a mesh pre UE4 to bring in. This will eliminate much of the troubleshooting involved with creating your mesh’s inside of UE4 and then figuring out the gotcha’s that pipeline involves.