How to model clouds within a volume in cycles

So I’m working on recreating an animation I made like 20 years ago as a teenager. I originally used 3DS 4 for some of it, and hand drew clouds and lightning in a Photoshop-like program. This time, I want to model them in Blender and make them look more realistic.

I found a good tutorial for the lightning that I like (this one), but I’m having a really hard time with the clouds. There are plenty of tutorials on completely random single clouds, but they’re very generic. I need the clouds to be in a specific shape, and the shape is deliberately a bit unrealistic (anvil-shaped) as part of the logo.

I’d really like the clouds to be animated to give the impression of a little wind flowing through them instead of just being static.

Original, stylized image:
Cloud and Lightning Original

From that, I sculpted a rough approximation of what I want. It’s bad, but the hope was to be able to procedurally fill it with clouds that conform to the shape but have some wisps and so forth to give it some detail.
Cloud Model

The problem is that everything I’ve tried either makes it just look like sculpted bubble bath, or doesn’t follow the shape at all.

I tried making individual clouds (from this video) and stacking them together, but I’m not getting the edges to behave very well, and there are a bunch of weird glitches where the volumes overlap. Also, it’s extremely slow to render (like 9 minutes just to render this little image).
Cloud Volumes Buggy

I was going for something like this cumulonimbus cloud (image borrowed from this page), with the top shaped more explicitly like an anvil and the bottom being more pillowy.
Cumulonimbus Cloud

I’m wondering if I might be better off with some kind of particle system(s) and wind forces blowing them around, but I’m not sure where to begin with that.

1 Like

So I’ve made some progress. I tried a particle system that ended up being pretty terrible, probably because I don’t know how to make the forces do what I want. Then I went back to the volumetric clouds.

First thing I found is that placing the clouds at the same distance from the camera caused the glitching where one cloud is rendered properly and the next is not. By moving each cloud slightly along the Y axis (so the faces are no longer in the same plane), they rendered properly.

Original positions:
Cloud Volumes

Moved (faces indicated by colored lines were originally co-planar):

Next, I animated the X axis of the Noise texture used to generate the volume shader, and the density so the cloud appears at the right time.

Then I re-oriented and added some volumes to get a little closer to the image I was looking for.

30 hours of rendering later, I came up with this:

The anvil shape is still not as explicit as I’d like, and I feel like it would look better if the top of the cloud was smoother. Also, I tried to set the W parameter of my Noise texture to the objects Index, because I was under the impression that would randomize each cloud object.

Unfortunately, it didn’t seem to work, so you can see repeating cloud patterns across the lower front of the formation, and the right edge of anvil top looks exactly like the right edge of the cloud bottom. I think the Random output is what I was looking for, but initially thought it would change the seed each render or something.

I’m going to try two things next:

  1. Set the noise to the objects Random output.
  2. Change the nodes so instead of flattening the clouds in the shader, I can flatten the actual geometry. This should make it easier to visualize edges without being in render mode in the viewport.
  3. Rotate the appropriate clouds so the animations are flowing the same general direction.

Then I might try setting the shader so things in the top half of the box are rounded more than the bottom half, so I can flatten the bottom of the cloud. Then upside-down clouds will flatten the top of the cloud.

Perhaps the difference is just too small. Try multiplying the object id by 100 or something like that before piping it into the w.

I guess this isn’t really “support” any more, since I mostly did it myself, but here’s the final render I think I’m going to bother with:

I,

  1. Set all the clouds to animate left and upward,
  2. Bulked up the right side of the top and bottom to kind of point left,
  3. Pushed the column back so it visually stands out from both the base and the anvil head,
  4. Rounded the transition from the column to the anvil tip,
  5. Set the volumes to fill the cubes, then resized the cubes (somewhere in this, it filled the spherical pattern more, making the edges a bit sharper while still having the cloud-like appearance),
  6. Rendered to individual frames and played with the video editor method of final cut,
  7. Set the volume materials to Object Random instead of Object Index (I suspect I could use the index like you suggested, but since the random node is there I just used it instead of making my own).

I also added a simple surface shader to easily visualize the animation direction that can be connected or disconnected as needed.

A bit late to the party but…

clouds don´t have moving texture on itself and then keeps the cloud shape overall, it just looks weird, but then again weird may be what you want.

This will happen if you use a modeled shape and use mesh to volume with procedural textures.
You could instead just (use blender 2.79 preferably) use the modeled mesh as fluid smoke, but turn off the internal fluid forces so the smoke only is emitted inside the volume, conforming to the main shape, then use other forces to push and move it a bit, just slightly with turbulence etc.

1 Like