Ambience system:
- The ambience system is in charge of how the world looks visually in global effects like lighting, fog, ambient particles and sounds, so it’s important to make it as appealing as possible, as well as easy to artistically change (which is hard rn)
- It’s a collection of several objects and controls for each of them:
- SkyLight with real time capture
- Giant skybox with a custom skybox cubemap material
- Exponential height fog (AKA Far fog)
- Volumetric fog (AKA actual fog) [NOT IMPLEMENTED]
- Ambient particle system
- Global soundscape (plays all the time when the player is in a set ambience volume)
- Whiteout soundscape (plays along with the global soundscape during whiteout)
- Blackout soundscape (plays along with the global soundscape during blackouts)
- This system currently changes the ambience active for the player when they enter a volume. The ambience is determined per volume directly
- [NEEDS TO BE REFACTORED]
Refactors:
- Instead of customizing the ambience per volume there should be a data table with all ambiences
- A modifier system which adds on top of an existing ambience/overrides its value
- Works as a blank ambience data struct which is added on top of the static one from the data table
- Make the fog color transition smoother
- Add volumetric fog and controls for it
- Refactor the sounds to be less confusing
- The type of particles and their density should be configurable: