A simple system with a day-night cycle and customizable weather effects.
This repository is mostly intended for my own use, to share the code between my different projects. The environment system is a conversion and slight refactor of the blueprint system featured in the great course One Course Solution for Dynamic Sky System by Vince Petrelli on Udemy.
Converting the system to C++ taught me many things about working with dynamic materials and Niagara effects in code.
- Remove all light and atmosphere things from the map.
- Drag the
EnvironmentController
into the map
Sometimes the shaders bug out and you can see the sky sphere in the background. This is usually accompanied by the moon or sun looking strange.
To fix this usually one of these things will work:
- Reload the blueprint asset
- Restart the editor
- Remove
EnvironmentController
and add it back to the map
- Add tickable day/night cycle with time awareness and configurable speed
- Add delegates for subscribing to events such as when when the sun rises or sets, or when the weather changes
- Add subsystem to query the current time and manipulate the weather system in the current level
- Bug fixes
- Add more weather types