Realistic atmosphere

Hello, dear community!

Here’s something I’ve been working on recently and would like to share:

These videos demonstrate my planet atmosphere system with physically-accurate sunlight scattering and attenuation.
The system supports both Mie and Rayleigh scattering and allows to create realistic sunsets and sunrises.
Atmosphere parameters can be edited in real time (see video below) and the atmosphere can be viewed both from space and from surface.

Realistic Atmosphere on the Marketplace:
https://www.unrealengine.com/content/6943478c79ab4b758472123d0f1700e0
Please rate and comment!

Thank you for your interest!
Robert.

That’s really .

Some blue alien sunset!

b0178f03b401dbed97eb807ed255f3ad9408b5eb.jpeg

Very nice indeed! Never got around to implementing something like this and frame issues meant I had to do something much less expensive.

Interested buyer here, just to see how it was done really :slight_smile:

Super dense atmosphere!
Mie scattering can be used to simulate planets with very dense atmospheres and gas giants!

Another planet with slightly different scattering parameters:

f429f3fa004eb52359fcb6dca19b05546f8ed631.jpeg

Cool, can it simulate cloud like conditions?

It can simulate dusty or foggy atmosphere using Mie scattering layer and you can even change its parameters in real time! Any complex weather and cloud simulation is not part of this package though: it only focuses on atmospheric conditions.

This looks really , for deep space adventure game it will surely fit in.
Gonna buy it when it’s gets released.

Out of interest, are you doing this entirely with Material nodes or are you doing some HLSL or Computation in Blueprints?

Would love to see this on the marketplace! Realistic Atmospheres are not sooo easy to do for me :confused: So great work!

Count me in as well. Will definitely be using this in one of my upcoming projects. Cheers,

J^2

This is done entirely with Material nodes.

Neat! Well it’s certainly something I’m interested in, particularly if you can get it out within the next couple of weeks or so, our project will be finishing up soon.

I can’t make any promises about the release date, but the process is going!

Just got on Trello!

Please vote!

Epic! How much does it cost? You have a price-range?

Haven’t made decision about the price yet, but it won’t be too expensive. Thinking about $20 so that more people around the world could afford it. :slight_smile:

Voted! Look forward to seeing this!

Out of interest, you don’t have an alternative link where I can buy this early do you? I’m still waiting patiently for Marketplace but it looks like it’s going to take forever to get through.

I’m trying to implement it myself sooner (I’ll be purchasing this one anyway) but can’t find any decent source to look at (all the examples I’ve found are based on taking multiple samples, which is fine if you’re using HLSL but not so much if you’re not). Anything I do also needs to compile for Android (nVidia Shield) - so nodes are more ideal.

Hi, TheJamsh!

Thanks for voting!

The item has been moved to the “Next Release” section of the Marketplace trello board recently, so I hope that it will be available very soon!

Actually, my implementation does take multiple samples and uses no HLSL code (only nodes). My implementation is based on this article: http://www.scratchapixel.com/old/lessons/3d-advanced-lessons/simulating-the-colors-of-the-sky/atmospheric-scattering/
The only way to accurately simulate scattering without using sample method is using precomputed lookup tables. I have tried to implement this, however, the amount of light that comes from any direction depends on four parameters: view height, view pitch, view yaw and sun angle. This requires a 4D table to store precompution results. Eric Bruneton’s GLSL implementation uses this method and uses a 3D texture to store the results: http://www-evasion.imag.fr/people/Eric.Bruneton/

UE4 however, doesn’t allow to use 3D textures easily. A semi-precomputed method is possible using just a two-dimentional table to store optical depth for all points (that only depends on view height and view pitch) and I had it prototyped. It required a separate program that I wrote in C to generate those tables and it didn’t allow to change parameters on the fly. Maybe I will finish it one day and in this case it will be a free update to my current implementation, but no promises for now!

Robert.