Lightmap : black/dark spots from normal map

Hello,

I’m encountering a problem with my lightmap computations. I get very pronounced dark spot in my lightmap in areas where my normal maps have kinda big holes (it’s a matter of speaking, they are not that big). I didn’t found any setting to tweak the result I get.

At first I thought it was my ambient occlusion settings (in the level properties) but disabling it doesn’t change anything. Changing the lighting quality also don’t have any effect (I tried all of them, from “Preview” to “Production”). I get those spots everywhere : on walls, floors, ceilings, and so on.

I believe it’s because of the way that normal maps are used to compute the indirect lighting. In UE3 there was a setting called “IndirectNormalInfluenceBoost” that allowed to control that, I don’t see it in UE4 unfortunately. So I don’t really know what to do to fix that… :\

23942-lighting_spot.gif

Hello ,

Unreal Engine 4 has the ability to control the number of Indirect Light Bounces as well as the smoothness of the lighting. This seems to be related to the Indirect Lighting as you mentioned yourself. Try going into your light source and increasing the number of Indirect Light Bounces as well as the quality. After making these changes, rebuild your scene and see if this changes anything.

Here are some image references to help you locate the settings I am mentioning to change.

Directional Light Settings

World Lightmass Settings

If you have tried a number of these options and exhausted your efforts, and still cannot get your black spots to go away. Let me know and we can try some other options.

Thanks,

Also give this documentation a look over. There is a lot of information in here about lighting and shadows that you might find very helpful, even if it does not address your issue specifically you might find your answer somewhere within.

Lightmass Global Illumination Documentation

Hi,

Thanks for the help, I have already tweaked those settings. I have already set 4 bounces instead of 3 by default in the world properties of my map and my light already generated more than 1 in term of bounce brightness. Also those dots are visible at fixed exposure (Log 0), it’s not something that only show ups from very dark areas.

I’m having trouble to understand how these settings could help my problem : the mood of my scene is already what I want, tweaking the bounce intensity will have an effect on it. Is there an other possible solution other than cranking up the lightmap texture resolution ?

Hey again ,

That was actually going to be my next suggestion, to increase your lightmap resolution of the mesh the texture is being applied. I also do understand not wanting to alter your mood that you have found that fits the aesthetic and scope of what you are designing.

These settings are all associated with static light building and how the light is calculated across the surface of your level. Each one of these values controls a different way in which light is projected and calculated. It is usually best to have these ‘World Settings’ established at the beginning of your project creation so you can set a base from which to build. Tweaking other settings within your Post Process allows you to adjust the mood and feel in relation to your other settings.

When you build your lighting, are you getting any overlapping UV’s error messages (specifically for the mesh you are seeing the black spots)? Also be sure within your Material properties within the usage section, you have the correct options checked for how that material is applied within your scene.

Let me know if you are able to resolve this issue from the information provided, or if you still need some further troubleshooting.

Cheers,

Hi again. :wink:

I have tried playing a bit more with the settings of my level but I don’t see any change on this problem. Tweaking the number of bounces, the indirect lighting quality and smoothing. Disabling the compression of the lightmaps reduce a bit the problem, but I still get dark areas in the deep part of my normal map.

Also no overlapping, the only error I get is from a mesh that I use to block the lighting outside of the room. I got this problem way before using this mesh, so I don’t think it’s related. The mesh in my room however don’t have any overlap in the lightmap UV channel.

The only huge difference I have compared to the “normal” way of working in UE4 is that I don’t use the “Inverse squared falloff” on my lights. So my light intensity settings are tweaked to accommodate with that.

Do you want me to share the map somehow ? (I’m running in 4.5.0)

Looks like I found a bit more information as to why it’s happening only in certain parts of my scene : I moved some of my point lights closer to a surface and it increased the problem. So I think the resolution of my lightmap is too low to be able to store the normal map low frequencies as shadows.

Is there a way to disable or tweak this setting ? As I said, in UE3 it was possible.

Test 1 :

Test 2 (even closer) :

I don’t see anything related to lightmass in the hotfix changelog, I’m not really comfortable therefore to update my version of the engine (especially since I run from a custom GitHub version).

Increasing the lightmap resolution just change the way the render behave, but still not a solution I’m afraid (basically it just stores now the low frequencies a bit better since there is more pixels in the lightmap, but it’s very noisy and dark). My normal map are normalized properly by the way, so now crazy values in them.

Here is a gif that switch between the dynamic lighting (not baked) and the static version : http://www…fr/archives/uplo/002/1418761800-ue4_dyn_vs_static.gif

I can’t really expect to increase to the resolution like that for every mesh in my scene, that will eat up a lot of memory. It’s not worth it at all.

There is no way at all to disable the normal maps contribution automatically during the lightmass process ? I would really like to avoid passing over all my shaders and disabling the normal map channel manually for baking the lighting. :frowning:

Awesome and helpful troubleshooting!

I usually don’t suggest updating to newer versions of the engine unless it is a close to last resort, but version 4.5.1 has some helpful hot fixes that might help resolve your issue.

However; follow these steps and images to increase your lightmap resolution and see if it resolves your issue.

Steps to Follow

  1. Double click on the static mesh you are using to represent your floor.
  2. This will open the ‘Static Mesh’ editor where you can make the necessary changes.
  3. Under the ‘Static Mesh Settings’ section you will see an option called ‘Lightmap Resolution.’
  4. Increase this value by powers of two i.e. 256x256 or 512x512 or 1024x1024

Let me know if this helped!

Thank you,

Would you mind providing me with the material you are using? Perhaps this is what is causing your issue. Check within the Usage settings of your material and see if you are checking the right boxes for how the material is actually being used within your scene.

I just recalled there is a setting within your ‘Project Settings’ within the ‘Rendering’ section to toggle using ‘Normal Maps for Static Lighting.’ Try disabling this setting to see if this is the fix you are looking for.

Normal Maps Used for Static Lighting

Thank you,

Yeaaaah ! That checkbox about normal maps in the project settings was exactly what I needed ! I got rid of the black spots ! Thanks a lot, I didn’t thought about looking in those preferences. :slight_smile:

Do you still want my material ?

Sweet! Glad we got the issue resolved. No, I do not need to check your material now that I know it is not the source of the issue. Best of luck, and let us know if we can further assist you with any other issues you may encounter.

Cheers,