EasySky, Dynamic Day/Night Cycle

EasySky is a dynamic, multiplayer ready, Day/Night Cycle, made for great performance and visuals.

Featured on 80Lvl


Version 1.5 released!
[li]Added Moon Intensity property[/li][li]Added Cloud Emissive Boost during Night Time property[/li][li]Added Moon Flare size property[/li][li]Added Night Atmosphere Color[/li][li]Added Night Fog settings[/li][LIST]
[li]Day and Night time can now have different fog settings[/li][/ul]
[li]Improved error messaging when referencing an actor that is not configured properly[/li][ul]
[li]Because of an error in UE4, sometimes the construction script doesn’t show screen prints. Because of this, the error message is now also printed on screen at the start of the game.[/li][/ul]


Version 1.4 released!
[li]Improved cloud rendering[/li][li]Added Random Starting Time option[/li][li]Fixed Start Time replication between Server and Client for dedicated servers[/li][li]StartTime can now be more than 24 hours[/li][/ul]


Version 1.3 released!
[li]Fixed Day Night Cycle time[/li][li]Added possibility to use a different speedup time for the day and night cycle[/li][li]Improved clouds[/li][li]Added property to tweak black ring around the moon[/li][li]Added clouds fade-out in the background[/li][li]Cubemap blend improvements. Cubemaps start blending 1 hour in advance of sunrise and sunset[/li][/ul]


Version 1.2 of EasySky is now live!
This includes several bugfixes and feature requests from users.
[li]Added Fog Night Color[/li][li]EasySky now derives from AActor, rather than Static Mesh Actor[/li][li]Added possibility to reference light and fog actors from the scene[/li][li]Light with an intensity of 0 are now disabled so they don’t have a rendering overhead[/li][li]Added Directional Inscattering color to the fog[/li][li]Better sky gradients[/li][li]Improved default lighting[/li][li]Moon texture and Normal map exposed[/li][li]Sun texture scale fix when scaling the skybox[/li][/ul]

Original post:
Hello all,

A couple of weeks ago I started working on a dynamic Day/Night cycle.
The first goal for me was to improve my vector skills, and the math that comes with it.
As a Principal Technical Artist at a (mobile) VR studio, I always try to improve my skills and make things perform as good as possible.
Therefor, I challenged myself in making a dynamic Day/Night cycle, that uses no transparency at all, and all the things in the skybox are mostly done by math.

It is not 100% done yet, because it’s missing some minor features, like a gradient at the horizon. And I also need to cleanup some blueprints and shaders. But overall I’m starting to become pretty happy with it.
This will be a plug and play blueprint. You just drop it into your level and you are done!

The blueprint has the following features:

  • Dynamic Sun cycle
  • Dynamic Moon Cycle
  • New moon cycle (Full moon, half moon, etc)
  • Atmospheric fog (Cheap shader calculations, not the default atmospheric fog actor from Unreal)
  • Northern Latitude property
  • Dynamic Clouds
  • Day/Night cycle speed setting
  • Dynamic Sun and Moonlight
  • Skylight

I will upload some movies later, but till then, I have some screenshots to show.
Just a small insight: Everything is projected on a sphere, so clouds, sun and moon are all projected and transformed to look like real life.

Specs so far:

  • 290 pixel shader instructions
  • 29 vertex shader instructions
  • 4 texture samples (Clouds 4k, Sun 1k, Moon 1k and Moon Normal 1k)
  • 1 Blueprint
  • 1 Material
  • 9 Material Functions