CloudFactory 3D procedural sky

Hi everyone! I’ve made some 3D procedural clouds!

I originally made this because I needed a good cloud solution for VR that appears in actual 3D and not just as a flat billboard.

Playable demo: MEGA

Edit: newer version with ground: MEGA

The effect is achieve by layering 3D procedural noise against many concentric hulls with a low opacity, giving a seamless result with real depth.

This is a work in progress but I’ll be submitting the first version to the marketplace shortly. I will continue to update this asset frequently in order to improve performance and add features.

At the moment I get around 50-60fps on a GTX 980Ti in full HD, so this is an effect that is best used in scenarios where dedicated clouds are important such as flight simulators or other kinds of flying scenarios. This is not an effect you would want to use in a skybox if your player is stuck on the ground.

You can control all aspects of the clouds through material instances - fluffiness, opacity, power, size, turbulence, detail, cloud floor/ceiling altitude, etc. This is an effect that you have a lot of control over. The clouds handle atmospheric fog well and react properly to the position of the sun in the sky and will slowly evolve over time. At night a starscape becomes visible in the distance and moves with the apparent rotation of the planet below you.

To get the clouds working you simply drop two actors (cloud bubble and cloud plane) into your scene, set the cloud plane’s altitude and forget about them. You’re done. The cloud bubble will follow the player’s camera around, projecting localised clouds while the cloud plane stretches off to the horizon. The effect requires a pawn or a controller with a camera that is being possessed by the player, although if you change pawns it will find and attach itself to the new camera automatically.

Feedback is welcome! I’m keen to make this an asset you can’t live without.

Other screenshots can be found on the old thread here: Sky-based anime VR game - Game Development - Epic Developer Community Forums

Oh man I spoke too soon, it DOES look good if you’re on the ground:

Update: here’s a newer executable with ground and water to help compare against:

Just noticed that there’s something odd happening with the resolution of the demo - I had to set it to a higher resolution then back to full HD in the console before it was actually the right res. As a result it wa running even slower than I realised, so I added some level of detail controls to the effect. Back to running nice again. I’ll upload a new version soon, but this makes me think I’ll do my best to get this running good on HMD before submitting it, since that’s the entire point of it.

Some more progress. Working on VR-specific issues now.

I’ve improved the demo into more of a flight game. Resolution is fixed and performance is also improved.

Windows download: MEGA

Hi

What will be the price.
I love it. It will be very good in my game. will match perfectly
I really need it!!!

:slight_smile:

Haven’t decided on price yet!

I’ve thrown everything out and gone back to the drawing board (I should really remove this thread) with a different way of achieving a higher quality effect that runs faster but it’s still in progress.

Right, midway through the rewrite. It is now a ray-marched 3D procedural cloud renderer.

ShareX capturing is causing the jerkiness - I’m getting around 30fps on average at about 720p.

I haven’t done anything about depth sorting, the most opaque sample owns that pixel and is responsible for lighting it. I’m going to have to add an input for the sun direction, since shaders have no access to that by default, which is quite annoying Epic. :wink: After that I can light the clouds when the sun is behind them.

The controls are things like storminess, fluffiness, reflectiveness, etc.

Performance is about the same but the quality is through the roof. This might become a next-gen effect if I can’t fix that up.

Hi

Is particles using spherical shapes with materials using procedural noise generator?

You could abolish the procedural noise generator. Overlapped cloud images working like shell/fin method instead may be better than procedural noise. In each particle, would be used superposed spherical objetos acting as shell. A simple 3 or more pass shell extrusion!!!

I have a google image that represents the idea:


Source:

It works with fur inevitably works with fluffy clouds also


Source:
http://wiki.polycount.com/wiki/HairTechnique

That’s an interesting idea, I like it. It works very well for hair.

One of the differences is that you almost never have a scene that’s just hair, whereas clouds tend to do that. The noise generation isn’t too bad actually and I still have some other techniques that I haven’t tried yet that may be even faster.

Will this be a code plugin or BP?

Shader. You’ll be able to hook the necessary material inputs up in either code or blueprints if you want a fully dynamic sky, but you won’t have to if you’re just after a set time of day.