[SOLVED] SkyControl utility overrides the sun's color

Hello. I have been using the SkyControl utility to create a sky for my game. And I really love it. My only concern is that the sun’s light isn’t strong enough. So, I decided to mult the power of my sun:

sun.setColor(ColorRGBA.White.mult(2));

Before I implemented this control, my sun made the terrain very green and bright, which was lovely. But it looks like the SkyControl overrides the sun’s color for different hours (when it’s afternoon, the color of the sun becomes more orange), and, of course, overrides the mult() value.

I already looked at this thread which is the same problem as my one, but it was not solved.

So I ask, is there a way to change the sun’s intensity? Is there a value on the SkyControl I can change or a method in my game I can do to solve this?

I already tried to change the observer’s latitude, but it doesn’t change the light.

Thanks,
Ev1lbl0w

**dumb comment was here **

Have you played with cloudness?

skyControl.setCloudiness(0.9f);

or

skyControl.setCloudiness(0.1f);

For lighting, this is completely untrue. Brighter light color = brighter light. It’s also untrue for any color material parameters. JME does not clamp anything there.

Colors that are part of textures get clamped because of the texture format itself.

1 Like

Thanks for the replys. I changed the cloudiness value from 1 to 0.1, but the intensity of the light keeps the same.

You should try and @mention the SkyControl developer, none of us knows exactly how this thing works.

@sgold

Thanks, normen. By the way I also think the nights are very “bright”: the clouds are white and the ground should be darker. The irony: At day it’s to dark. At night it’s to bright (that rhymed) :smiley:

@pspeed Thanks for explanation. Totally misunderstood that point. Maybe this explain a bug i’m working on :sweat_smile:

Removed my previous comment.

So, I downloaded the source code, and there was a class to test the skycontrol. I launched it and there was a slider to change the light’s intensity. So, I looked for the code and I discovered this line:

sky.getUpdater.setMainMultiplier(float mainMultiplier);

This method can change the light’s itensity, which solves my problem! I’m only posting this because there are some people that had the same problem.

Now I just need to detect when it’s night, to change the light’s intensity.

Thanks everybody!

1 Like