We are creating a small day/night progression in our game and discovered that setting the skylight color in runtime (level blueprint) to the same color it was in the editor causes the result to change.
After testing it I came to the following reproduction steps:
- Create a new project
- Drop a cube in the scene (Modes/Place/Basic/Cube) (I scaled it up to see the better)
- Drop a Skylight (by default it is stationary)
- Set its color to a light, desaturated color (like BDFFBFFF or 8EB5FF00)
- In the level Blueprint, create a event (like an input from the keyboard) to set the skylight’s color to the same color.
- Play and change the color
Notice how when I set the color to the same one, it apparently changes the color. (I tried building the light before playing, and the same thing happened).
Interestingly, when the color is very saturated or white, I don’t see a difference.
Is this a bug or am I doing something wrong?
Has anyone else been able to reproduce this??
Does this also happen with the Skylight set to Movable? How about your stationary light (sun), is it movable?
I use fully dynamic lighting in my own day/night cycle system and have no issues adjusting the skylight color, so my best guess is that it’s something to do with static lighting.
If you are doing a dynamic TOD day/night cycle like I did, you won’t wan’t to use stationary lights. The sun directional light will need to move so dynamic lighting is your only option The skylight will also need to be re-captured at a set interval (DO NOT do it on Tick!! it is very performance heavy) to apply the changes in lighting conditions as the day progresses. I currently use 5-10 minutes but will be abandoning that approach and using 4 (night, morning, day, evening) pre-captured cubemaps of the level that blend together over time. The re-capturing takes too long and causes hitching whenever it occurs, so I would avoid it if possible.
Hope that helps,
I am having the same bug, everything is set to moveable. When I set my skylight color to the identical color it still has visible changes in the scene