Static lighing strange hue colorations

So I was rebuilding a mesh-showcase level and was wondering why certain meshes after a light rebuild (both production and preview) have a variety of different hue’s.
I then compared them to dynamic lighting.

Images say more than words:
Static lighting - Lit

Static lighting - unlit

static lighting - detail lighting

static light - light only

dynamic lighting - lit

dynamic lighting - unlit

dynamic lighting - detail lighting

dynamic lighting - light only

So… Whats going on with the static lighting that it does this?

Cheers!

  • Luos

Thats what I understood as well, but there is nothing in the scene that could affect the colors that much.
(I think)

I would say light bounces. Since dynamic lighting has no indirect illumination all the lit surfaces you see have their own color(especially with rough materials where reflections dont affect the looks all that much) while with static lighting the light bounces multiple times and mixes every color of the light reflecting surfaces.

Hey Luos -

I am fairly sure that Jacky is right. How many bounces do you have set in your Lightmass Global Settings to use? I am assuming that all the cave and canyon pieces have the same texture they are using, but are they using any math based changes to the texture? Finally you are lighting the scene with a Static Directional Light, is there only one and if so what angle is it at compared to the different pieces?

Eric Ketchum

Hey Erik, the bounces are just the standard amount. (3)
All the meshes use the same master material and all the math that is going on is shared on all the meshes.

The directional light is pointed straight down.

Hey Luos -

As a test can you place 3 point lights with a moderate radius (not whole map) over three assets which are rendering as different colors and turn off your Directional Light. Post a screenshot of what your results are.

Thank You

Eric Ketchum

Here you go.
I did test it with and without lightmass importance volume, but no difference in results.

unlit:

http://i.imgur.com/bvpugua.jpg

lighting only:

http://i.imgur.com/8drJd8Q.jpg

Detailed lighting:

http://i.imgur.com/TPQP8FR.jpg

and because I thought perhaps the skybox might be interfering I moved the meshes around but nothing changed:

http://i.imgur.com/hzdalGB.jpg

Lightmap - Album on Imgur < link to the latest images if needed.

Hmmm… Here a some things to check on:

  1. Remove any Sphere Capture Actors and Sky lights from the level
  2. Remove the Atmospheric Fog (you should be left with rendering on a black background
  3. You said you were using a Master Material for all pieces, check the individual math in each piece to see if a color is being added into the material by a change in a value.

We have confirmed that it is the bounce that is causing the color changes the Volume Light Samples confirm that, so we just need to find where in the mesh it is getting that color.

If you want me to look at the level feel free to link it to me via my forum private message.

Eric Ketchum

  1. there where no spheres present.
  2. removed the fog.

No changes so far, but point 3. on the other hand…

The master material for all three meshes is identical, the only difference is that the green vertex channel’s uv is slightly varied in size. (50%, 100% etc)

The latter is apparently affecting the color.
but the only thing changing there is the value’s of a texture coordinate, why would that affect the color?
Because that change in the coordinate is whats making sure that each mesh has the same texture size on all vertex color channels.

Edit: that auto list feature is bleeping me off.

Hey Erik, the thing is, that green channel uses the same texture and normal as the base texture.
example:
vertex color 1 (black) texture one.
Vertex color 2 (green) Texture one. (different uv channel to hide seams)
Vertex color 3 (red) texture two (the floor)

and that green channel is often less than 10% (close to 5%) used per mesh, so it shouldnt have this much impact shouldnt it?

as for sending the package, for some reason migrating stuff never works properly for me and currently it stands at 10gb big.

You are using Vertex Mesh Painting yes? It could be the change in the Green color is adjusting the amount of a particular texture and normal that is being applied and as a result light hitting the object is picking up a larger quantity of a piece of the same texture and bouncing based on that sampled color.

Hey Luos -

Still working on your issue here. I have built a few samples of cave type environments like you have and applied a material in a similar fashion, but I am not seeing the same results that you are. Can you look at two settings for me and let me know what they are set as: In World Settings what is your Lightmass details set as (screenshot the details panel for me if you can) and can you private message me a screenshot of your material?

Thank You for your patience -

Eric Ketchum

Here is a screenshot of the lightmass:

Will try to make a good image of the material, but its huuuuuge.

As you can see here:

Got it, I’m going to begin breaking it down now. As soon as I know more I will let you know.

Thank You

Eric Ketchum

thanks a lot!

I wont have interwebs for the next ten days (the horror… the shear horror!) so I might not reply instantly if you reply.

Ill see you on the flipside!
falls into a vortex of wi-fi blockers

Hey Luos -

After some investigation, I can tell you that the light is actual behaving 100% accurately. This issue revolves around the color sampling down from your textures by the bounce light. Your textures are extremely close but there is a predominance of either yellow or red in certain meshes of your map and these are being magnified by the bouncing back and forth between the top, bottom and sides of your meshes.

There are actually a few things that can help fix this issue or at least mitigate the results. The first I can think of is to use only dynamic lighting and remove bounce lighting, use a non-shadow casting sky light to act as fill. Alternatively you can try to adjust the textures themselves to ensure the histogram of each is closer in nature, remembering that you will need to look at all you textures which make up any given texture (any overlays). Similarly you could also use only greyscale textures and use a multiplied color or a lerp color relationship using a greyscale texture as the base. This way you could ensure that no additional color information will effect the bounce lighting.

I know that this is not the answer you necessarily want, but you’ve done an amazing job with the pack so far that fixing this small component would help push it over the top.

Thank You

Eric Ketchum

Hello Erik,

As its a package used for selling the last thing I could do is state “use dynamic lighting only”.
Even if I would adjust the overall histogram of a texture the variables in a texture combined with the variables of all the uv island of all the meshes would make that an impossible task to solve.
Not to mention that the whole pack is set up so others can use any seamless texture they want.

Same thing with the grayscaled textures, no matter how many lerps and color multipliers thrown at it the chance of getting really decent results is low, especially considering that a specific part with a specific set of multiplied/lerped colors will be around the green vertex channel part (to hide the seams) that will cause the same problem as we are currently trying to solve.

you say “fixing” but Im actually doubting that is something that is fixable with a setup that uses a seamless texture needing the same seamless texture on another uv channel to hide seams.

I still find it weird that with all the variables there are only 3 specific hue’s to be noticed. (gray, yellow, pinkish orange) in that case wouldnt there be 100’s of more fluctuations in color?

Look at your Diffuse (Base Color) Textures only and run a histogram analysis in Photoshop and you will see that they all do favor either a yellow (toward green), orange or white/grey-ish color.

You can adjust the textures themselves or pull out the greyscale image and adjust the color via a lerp &/or Mulitply with one or two 3 Vectors. In either event, you will get these results:

Eric Ketchum

Hey Erik, here I am again to bother you :stuck_out_tongue:

so… I did some (accidental) testing.
After moving some uv’s to another channel I forgot to apply the new uv-channels to some of the meshes.
In this case they did not have a 4th (3rd in ue4) channel.
And that resulted that the green channel only showed one pixel (assuming this) of the material applied over the whole green channel.

so I did a rebuild lighting:

as expected, the whole room became green-ish. (loving that particular color of green btw)

so I applied the actual material to it, which turns the green to brown:

and rebuild the lighting:

the reason this was happening was as you explained that a certain color applied to the green channel after bouncing around got very dominant, but not only that.
It’s uv-size (density) also had something to do with it.

The reason I was moving uv-channels was to make sure that the green channel texture’s density is always the same on every mesh. (which is why I had so many material instances, to get as close as I could)
So now all the meshes their green channels density is identical on every mesh.
And I did another rebuild:

and bam! uniform color everywhere.
No need to tweak the materials, or use dynamic lighting or a grayscale version.
I just had to make sure the density was uniform on each vertex color’s layer.

:slight_smile:

Can I get 1/2 (or even just 1/4th) of “accepted answer” for this? :stuck_out_tongue:
Also, not sure if you are coming to gdc… if not ill ask chance to give you a hug for your help!