Light Scattering Simulation

Hi everyone,

I’m looking for some advice for a project I’m working on. I’m considering a few different tools for this, and I’m wondering if Unreal would be right for this task. I’d be curious to hear what more experienced Unreal people would have to say :slight_smile:

I want to make an interactive simulation showing how the way the world looks would change if geoengineering measures were introduced. Specifically, I want to show how light scattering would be different if light-reflective aerosols were sprayed into the atmosphere to reflect sunlight and thus reduce the amount of sun energy that enters the atmosphere.

Essentially I want to:

  • Simulate the scattering of sunlight as it passes through Earth’s atmosphere.
  • Model the effects of introducing light-reflective aerosols into the atmosphere and observe their impact on light scattering.
  • Provide an interactive experience where users can adjust simulation parameters and observe real-time changes in the sky’s appearance.

Perhaps I should use some more advanced shader programming but I was wondering what Unity can do. I’m guessing volumetrics could be a good approach? If there are any existing assets, plugins, or resources that could help, I’d love to hear about those, as well as tutorials or documentation.
Any other guidance, suggestions, or experiences you can share would be greatly appreciated too :slight_smile:

Thank you in advance for your help!

Best regards,
Maria

  1. Your project sounds extremely interesting and I would love to learn more if you have a link to it.

  2. What you want is very doable. Unreal engine ships by default with a physicalized, parameterized atmospheric system called SkyAtmosphere. It lets you change the look of the sky by adjusting the amount of releigh and mie scattering, and controling dozens of other properties of atmospheric optics and climate. You’d have to figure out how your compounds would affect atmospheric scattering and where on the planet you see this demonstration taking place, but other than that you’d basically just have to hook up the Skyatmosphere and clouds system to a BP that controls the settings according to the matrix of physicalized parameters you desire.

TL;DR: what you want is probably very doable without too much tweaking, so long as you understand the blueprint system and the relationships of the physical values you wish to adjust to the SkyAtmosphere system.