Sky.UpperHue and Sky.LowerHue ColorSequences

EDIT: This isn’t going to happen, PLEASE stop bumping this thread.


Throughout a Roblox day, the sky’s hue changes based on the time of day using two internal color sequences.

One sequence controls the hue of the sky’s top side, while the other sequence controls the tint of the sky’s bottom side. The rest of the sides are cross-blended between these two sequences from top to bottom to control the overall look of Roblox’s skybox.

After careful observation with a white skybox, I was able to pin down the ColorSequences that control this behavior.

local day = 86400
local hour = day/24
local riseAndSetTime = hour/2
local sunRise = day*0.25
local sunSet = day*0.75

local upperSkyAmbient = ColorSequence.new
{
	ColorSequenceKeypoint.new(0,							Color3.new());
	ColorSequenceKeypoint.new((sunRise-(hour*2))/day,		Color3.new());
	ColorSequenceKeypoint.new((sunRise-hour)/day,			Color3.new(0.07,0.07,0.1));
	ColorSequenceKeypoint.new((sunRise-(hour/2))/day,		Color3.new(0.2,0.15,0.01));
	ColorSequenceKeypoint.new(sunRise/day,					Color3.new(0.2,0.15,0.01));
	ColorSequenceKeypoint.new((sunRise+riseAndSetTime)/day,	Color3.new(1,1,1));
	ColorSequenceKeypoint.new((sunSet-riseAndSetTime)/day,	Color3.new(1,1,1));
	ColorSequenceKeypoint.new(sunSet/day,					Color3.new(0.4,0.3,0.05));
	ColorSequenceKeypoint.new((sunSet+(hour/3))/day,		Color3.new());
	ColorSequenceKeypoint.new(1,							Color3.new());
}

local lowerSkyAmbient = ColorSequence.new
{
	ColorSequenceKeypoint.new(0,							Color3.new());
	ColorSequenceKeypoint.new((sunRise-(hour*3))/day,		Color3.new());
	ColorSequenceKeypoint.new((sunRise-(hour*2))/day,		Color3.new(0.21,0.21,0.28));
	ColorSequenceKeypoint.new((sunRise-(hour/2))/day,		Color3.new(0.4,0.3,0.3));
	ColorSequenceKeypoint.new(sunRise/day,					Color3.new(0.3,0.2,0.3));
	ColorSequenceKeypoint.new((sunRise+riseAndSetTime)/day,	Color3.new(1,1,1));
	ColorSequenceKeypoint.new((sunSet-riseAndSetTime)/day,	Color3.new(1,1,1));
	ColorSequenceKeypoint.new(sunSet/day,					Color3.new(0.4,0.3,0.2));
	ColorSequenceKeypoint.new((sunSet+(hour/3))/day,		Color3.new(0.3,0.2,0.3));
	ColorSequenceKeypoint.new((sunSet+(hour*2))/day,		Color3.new(0.3,0.2,0.3));
	ColorSequenceKeypoint.new((sunSet+(hour*3))/day,		Color3.new());
	ColorSequenceKeypoint.new(1,							Color3.new());	
}

This got me thinking though. Wouldn’t it be neat if we could actually tune these sequences ourselves, using properties under a skybox?

Developers could utilize this to have more control over when the sun rises and sets, and how the sky is tinted throughout the day.

We could create our own aesthetics that pertain to the worlds we create.

  • Perhaps it’s a polluted world and the sunrise has a greener tint.
  • Maybe we’re on mars and the sky doesn’t get as much sunlight.

The sky is the limit really! (pun absolutely intended)

178 Likes

This sounds awesome! I’d love to be able to utilize this with my builds. Definitely support!

4 Likes

Wow, I’m surprised this isn’t in already! Definitely support this!

2 Likes

Yeah! This is a great idea!

2 Likes

Yes PLEASE

2 Likes

support

2 Likes

I support this! This would allow for much more room for powering imagination.

4 Likes

Support.

Also maybe a read only value representing the current hue so that it is possible to make the fog color match exactly.

1 Like

Support omg this is amazing

2 Likes

I wouldn’t mind an API for doing this under the ColorSequence data-type.

4 Likes

If this is implemented, I would be very happy if the tint map was changed so that it didn’t make the skybox look like a box when it’s in effect.

2 Likes

still support

2 Likes

Coughs I believe this is still needed

1 Like

Cool!!!

pls I need badly to make purple sky w/o color correction

1 Like

still needed …

1 Like

This would be a godsend for the dynamics of our game ambiance, allowing us to make our custom skyboxes look so much cleaner during time of day changes.

1 Like

still support

2 Likes

Great idea, I like how you’ve got it set up so you can give different color key points and have it tween between them. This would be a nice thing to have.

1 Like

The inability to change the hue of the sun and moon on Roblox largely counteracts the usefulness of custom textures for celestial bodies.

I want the sun to look like this

image

and I get this

Having the entire asset’s colors washed away is not useful at all in this case, where I just want the sun’s color to remain the same as in the previously shown image.

Having the ability to use the color sequence feature for both the sun and moon textures, in order to manipulate the assets’ hues throughout all selectable points of time would be ideal and would aid users greatly in creating more dynamic and immersive scenery.

18 Likes