[WIP] Physical Sky - Weather System

This is the development thread for the new version of my weather system.
Earlier this year I posted about the prototype of this system in another thread.
I encourage you to read through it and in case you have any questions feel free to ask them HERE in this thread!

I will post mainly videos, pictures and from time to time some breakdowns. I try to answer every question.
Every kind of feedback and constructive criticism is more than welcome.

I am currently working on the snow on the ground. It will be followed by puddles and maybe sand.

Download:
Current Snow Demo and Test version (UE 4.14.3)

Updates
Reworked Snow as Material Function

Video Demos:

Latest Flythrough:

It looks absolutely fantastic! Are you using POM on terrain or is that tessellation? Also really great snow material with that specular highlights.

This looks really good. What are your plans for the plugin?

Update:
Been working on the look of the snow when melting.
The snow melts slower in shadows and where vertex paint is applied.

Sequencer making it really easy to do these videos now!

Answers:

Thank you! I use tesselation. No POM right now. I want to use it for footprints though. But 4.11 has a bug where it freezes the pc when you try to use POM in a decal material.

The plugin will be an advanced version of the prototype seen here.
In short: A weather system that focusses on the transitions between different weather states. These weather states and the way they transition will be 100% controllable by the user.
In the future there might be an AI that takes over the control or just parts of it.

I hope to make it very easy to use and integrate into existing projects. And in the end it should be usable with any kind of art style although I will focus on realism.

Will this be a paid or Free plugin?

Oh sweet, nice job on the glitter effect! :smiley:

Oh cool, i asked becouse Epic devs said that terrain is not well fit for tessellation as it creates artifacts, but there are none on your video.

The finished plugin is going to cost a bit of money.
I will try to release parts of it for free like the snow material for example. Or the prototype I made but please don’t expect too much.

Oh no this is not a terrain!
It’s the ground mesh from the open world sample scene. I have to try it yet on the terrain. The last time I did it was a huge mess with the performance.
But it should not be very difficult to convert the material to a POM material.

Update:
Tested the material on a landscape with slight modifications to use landscape layers instead of vertex colors.
As long as Epic is not actively trying to get proper tessellation working on landscapes I may have to rely on POM.
There are holes in the surface and the texture coordinates are a total mess for the World Displacement input.
Anyways here the video of my test:

After that I continued with the main material to add wetness. And I tried a different base material to find out what complications might occur.
Right know I only had to adjust the Height Multiplier for the new heightmap and the Snow displacement height.

[Edit]
Another base material I tested:

WOW absolutely amazing.

Update:
Reworked the masking and added puddles.
To get a better feeling for the look in a more complete and realistic environment I placed some trees and other assets from the Open World Demo project.

And with another base material:


(yes the trees are on top of the rocks :wink: )

Neat! Though is the snow melting material just based on the normal pointing away from the sun rather than actually being shadowed?

Looks very realistic, could use this in my current project … as long it is affordable for a strained indie budget, cheers.

What kind of time frame are you looking at for this??

Are those trees from Epics nature package? They look very good. As usual your videos look very cool aswel. One thing that would be cool is if you could add storms in your weather system that would affect world wind actor and increase wind which would make plants to swing more. Little touch but would add a lot ambience to scene.

Thank you everyone!

Right now it is based on the vertex normal and the sun direction. But as soon as I start to implement the Distance Field stuff from the prototype and do a few interations on that, it should look like the shadows of objects have an effect as well.
Unfortunately it is not possible to access the shadows in the material to do calculations with it right now. I hope they will be available of some sort in the future though!

I don’t know yet how and for how much I will distribute the snow material. If I will distribute the snow material on it’s own at all.
I will keep you posted!

Initially I thought I could finish the entire plugin by the end of summer. But it turns out that this will never happen because I want to do everything the way I imagine it. Which requires me to learn C++ :stuck_out_tongue: .
But with a big MAYBE I will release the prototype I did for free and put some parts that I finish along the way on gumroad (e.g. the snow material).

The trees are part of the Open World Demo Collection.
I will absolutely include calculations for the wind. But the Wind Directional Source can not be modified with Blueprints right now. But I will find a way because a weather system without storm is not complete. And I want mine to be as complete as possible.

I suppose you could do it for pre-calculated lightmap shadows, but for dynamic shadows… hmm, it would work if there’s already a GI shadow map set up for calculating sun light visibility offscreen, but if you tried to do it with the final onscreen shadow maps you’d only ever get the effect on anything onscreen (and/or whatever else the shadow frustum might accidentally cover). But using distance fields might be promising. Really cool effect btw!

Update:
While working on the Distance Field stuff I noticed some major issues with the performance and the structure of the main material.

So I’m working right now on cleaning this and optimizing performance:

Any Eta on a possible release date??

Not right now, sorry! But I am going to release it at some point for sure!