Procedural Cloudscape Generation in Cycles (now Eevee!)

Hey there,

I stumbled across this quite simple method to create pretty realistic looking cloudscapes in Blender - Cycles - without doing any modeling or simulation at all. (View a few shots I took on Artstation: https://www.artstation.com/artwork/wdOOg)

Here’s the mashup anyhow:


It is also practical for animation purposes. Here is a timelapse animation I created (rendertime of about 6h on 2xNVIDIA GTX1070):

I am basically just giving a cube a volumetric scattering material with a generated density map, which consists of several noise textures overlaying.



This is more like a quick test setup but I think it might be worth digging more into it.
At the moment I am setting up the different parameters for easy control. After that, it would be interesting to implement different cloud types and formations but that’ll be more complicated.

One downfall is definitely that you cannot see the shape of the clouds in the viewport. Even more of a hangup is probably, that it is pretty heavy on the machine power the larger the area gets. It is perfectly fine for small areas though. (Don’t get me wrong, the rendering is still slow as hell.)

There is not really that much to setup yet but here is the early Version of it if you want to give it a try and play around with it a little bit: ProceduralCloudscapev0.2.blend (839 KB)

Some Tipps:

  • I highly suggest that you exchange the sun lamp for an hdri
  • Set the Volume bounces (Light Path render settings) to at least 1 for more realistic lighting with thicker, darker clouds
  • if you (like me) experience a CUDA Error on GPU, try a lower Tile Size

Feel free to use the .blend for any purpose whatsoever (except killing baby seals…don’t do that).

I’d be glad to hear from you guys what you think. Do you think it’s useful? Is it too render heavy? Is it worth putting a ton of effort into it?

48 Likes

I haven’t tried this out but I will. It looks amazing to hell with render time.

The texture mixtures are critical aren’t they? Really wish there was a way to base model the shape with a mesh… oh well.

Wow I did not expect this thread to get revived :smiley: thanks for the replies you guys
@3pointEdit you could model a basic shape for it, but there would be a whole lot of clipping going on the way I implemented it. If there where a way to get a falloff in normal space (like 1 to 0 from the surface inwards) in cycles, this would be perfectly doable without clipping. I couldn’t think of a way to get that though.
A workaround for that would be to use multiple basic cube objects to build the desired cloud shape, I guess… which might look dumb… not sure

It deserved to be revived because its the best clouds I have seen in blender to date, and they are animated!

@pixelshatter I tried to get the geometry field with point density derived from particles in a shape volume. Then I made a bounding volume that has the shader. If you turn off the physics for the particles then you can apply modifiers to distort it :wink:

@Regono Thanks a lot, I appreciate that!

@3pointEdit
Yea I guess you could use a particle system, that should work fine with the shader as well. It just kind of defeats the purpose of what I was going for specifically, which is a completely shader based cloudscape with easy to use parameter inputs.
If you want full control and spend more time to get the right shape, particles are probably the way to go. I have seen that being used but didn’t play around with it myself though, thanks for the input.

I think I’m gonna grab the file again soon and try some more stuff

I’ll be watching with interest. I agree purely procedural is preferable if only for ease of setup.

I want to revive this topic once more now that I finally played around with the shader again. I have to admit that my interest in this 1y old project got triggered by that new real sky add-on that just came out on the blender market.

Honestly I made no changes to the shader itself yet. I threw it into 2.8 and eevee is definitely bringing its power to the next level. It works really well with real-time.
Here is an animation I rendered in HD with a render time of only 4s per frame:
eevee1

You have to know that this sequence would have most likely not even rendered in cycles (my GTX 1070 crashed when i tried). So that is a big deal for the viability of this method, even though it’s ‘only’ working well in Eevee.

Here’s a quick demonstration of the real-time behavior:

With Eevee I can really imagine picking this up again and making this into a polished shader with decent documentation.
Let me know if you are interested

26 Likes

I am interested. This looks great. :smiley:

2 Likes

I’m also very very interested.

2 Likes

Alright, I’m glad you guys are interested :slight_smile:
Here is the current release for Blender 2.8 (Built on v2.80.29)

ProceduralCloudscapev0.4.blend (1.8 MB)

Features:

  • Easy to set up
    setup

  • Single clouds for hand placing
    screen1

  • Generation of whole animated cloudscapes
    ani

  • Paintable cloud distribution
    CloudsWriting

Setup:

  • Make sure you turn on volumetrics for eevee and get familiar with the settings. The tile size is a handy parameter for convenient navigation for preview.
  • You will notice that the clouds will be generated in the bounding box of an object, so its best to just use cubes and scale/rotate them.
  • For painted distribution you have to use a plane with a solidify modifier

I’m planning to do a short tutorial where I show setup / parameters / tips. That might not happen before a later release though. But I’m sure you can figure it out with ease.

I hope you enjoy it, definitely show me what you create with it!
You can tweet me @simonthommes or just post it here :slight_smile:

edit Here the licensing part:

60 Likes

This is fantastic. Thank you very much. :smiley:

1 Like

Greaaat…

This is an absolute terrific addition for Blender!

Thank you very much Pixelshatter!

1 Like

This is fenomenal! Is this CC0? I’m doing a short film at the moment and would be really cool to use it.

1 Like

Looks awesome! Thanks for posting!

1 Like

Wow, thank you!

1 Like

Glad so many people are enjoying it, thanks guys :slight_smile:

I haven’t really thought about licensing yet, but… almost…
Use it however you like (even commercially) :smiley:
However, it would still be nice if you would credit me / this thread (if the shader is prominently displayed in you work) and give me a heads-up.
BUT if you want to modify/improve the shader itself, ask me before you distribute that modified shader

I did a quick read on the CC page. Here’s the fitting licensing:
https://creativecommons.org/licenses/by-nd/4.0/

3 Likes

Thank you! I will put your name in the credits is that okey? :wink:

really nice ! and thanks for making it free , a lot of people could charge 10$ for that