Bubbleᴴ, A Soap Film Solver
Introducing the Bubbleᴴ, A wrapper for siggraph paper "Double Bubble Sans Toil and Trouble"
Hello again and welcome back. In the last series “Volumetric Path Tracing” we explored how a volumetric path tracer is formed and optimized. Volume rendering is a broad and complicated topic but even if you have the best renderer in the world, without a decent volumetric model you can’t have a good looking image.
This series will be consisting of three parts where we explore different types of clouds in various altitudes in first and second articles, and then we will take a look at the composition, lighting and rendering of some of the most common cloudscapes.
I am creating this series because I was unable to find many sources that cover the volumetric modelling aspects of the clouds and I want to convey my findings and experience. I hope this posts help you even if you are not the one responsible creating these assets but working as someone as a layout artist, lighting td or even a director trying to visualize a specific shot.
All the cloud setups you will see in this article are now included in the “Houdini Cloud Modelling Pack”. You can purchase them individually or as a whole pack at my gumroad page. You will see some product placements in appropriate sections.
To be able to understand how clouds are shaped we have to first understand how they are formed, because clouds solely obey the “form follows function” rule.
When sunlight hits the earth, it vaporizes water and creates the uplifting force through heat that rises the vapor. After a certain altitude water vapor holds on to microscopic dust and starts condensing. Because higher altitudes have lower temperatures we see denser formations.
A 1 sec interval timelapse from my window. (sorry for terible dust on my sensor)
A key aspect in cloud formation is the altitude it reaches. In the lower part of the cloud altitude heat rising from earth is much more chaotic and causes high currents that disturbs the clouds causing a more fractal and wispy looking. In higher altitudes air currents are much stable and a steady rise in altitude creates more puffy looking clouds.
As we will see in the next segments this forces play an important role in how we model the clouds. Depending on the force that affects the cloud we will follow different simulation pathways.
First of all, I would like to thank whatsthiscloud.com for allowing me to use the supplementary images used in this series. You can find a plethora of information on cloud types and how they form on their website.
Fractus clouds are fractal looking clouds with very disturbed shapes. They form in the lower altitudes and can be seen everywhere when there is a high air current.
We can simulate fractus clouds with high disturbance. For the example above I’m using two Gas_Disturbance nodes with disturb fields set to velocity fields and a smoke solver (note the default behaviour is to use temperature field). And I used them with ever decreasing block sizes to simulate the fractal effect which gives the fractus clouds their significant shape.
With increased resolution you can have a more detailed cloud, but please remember resolution comes with a very high cost in volumetric modelling and avoid it unless necessary.
Unless it’s a hot summer day you can’t see this clouds on their own. And we will use them with other types of clouds. So it is a good idea to create a couple variations using PDG and storing them as vdb files on disk.
Cumulus clouds are puffy looking clouds that are mostly seen in warm and fair weather. Even though we call almost any puffy cloud as cumulus, it actually describes a wide variety of clouds ranging from cotton like small clouds to storm bearing cumulonimbus.
We will now explore different types of cumulus clouds (with the exception of cumulonimbus) below. For a complete view on family you can take a look at this link: <whatsthiscloud.com/cloud-types/cumulus/>
Cumulus congestus clouds are formed when cumulus clouds rise high creating a tower like shape. They have potential to turn into cumulonimbus clouds and possibly bring rain. They are much denser in appearance than other type of clouds.
We can create these clouds with a pyro simulation with lots of density ejection.
You can start with a sphere emitter and inject lots of velocity and density. Buoyancy and horizontal velocity determines how high your cloud will be. You can start with the shelf tool “Billowy Smoke” and add a little disturbance or turbulence to your liking.
For the example above I’ve used a closed boundary on -Y axis to clamp down the simulation to XZ plane.
You can also add variation by adding a wind force to alter the shape of the cloud.
Cumulus Mediocris clouds are the most common cumulus clouds you will see on a summer morning. They are a great indication of fair weather and one of my favorite clouds.
Depending on the weather conditions they can have a very soft or dense appearance. Though they will generally be between.
Due to their hybrid nature they will be the most complex cloud we will model, and the one we will spend our time mostly. Top of the mediocris is usually denser and the bottom part is soft and wispy looking. The bottom part is affected of high air convections and carry resemblance to fractus clouds. Whereas the top part shows the characteristics of denser congestus clouds.
Now let’s take a look at the creation of this lovely clouds.
Base of the mediocris can be any shape. For the cloud above I’ve gone with a very low height tube object and scattered points inside. But as you can see below you can use any shape to create the base
Different cloud bases
By adding variation to density and temperature you can change the look of the cloud.
To control the general look of the cloud I had to create couple masks to control the forces that affect the shape directly. You can see the general setup below and then we will take a look how puffiness or wispiness is created by masks.
Cumulus Mediocris clouds usually show two traits that is either puffy or wispy. I found that varying level of turbulence is a great way to crate puffy parts. On the contrary disturbance is key to create wispiness.
As we know the cloud get denser and puffier on the top part we can create a scalar field and use this field as control field in our turbulence forces
As you can see in setup image there is a GAS_Field_Wrangle named “Gas Calc Masks”. A simple VEX expression is used to create the turbulence mask using voxel Y position as follows:
And as we approach the dew point (the base of the cloud) we need more disturbance. As you can remember from fractus clouds, decreasing block sizes of disturbance create fractal and wispy looks. A disturbance mask is created likewise.
Finally we also need a dissipation mask to control the dew point. This ensures we dissipate volumes going below dew point, and creates the flat bottom we generally see in mediocris clouds.
We can also take a render with VPT
Humilis clouds are the medium point between fractus and mediocris clouds. They are wispy looking and have potential to become a mediocris cloud, or if they decrease below dew point they evaporate and become fractus clouds.
They are longer than they are tall and wide.
As we have seen in fractus and mediocris clouds we can simulate them by using an appropriate starting base and use a couple of disturbance with decreasing block sizes to give them the general shape.
The general setup is can be seen below. The disturbance field cutoffs are set pretty high and they have block sizes 2, 1, 0.2, 0.05. Remember you may have to adjust these units according to your scene.
This finalizes this part on modelling low altitude clouds. You may realize we may have left a couple points unanswered like using shelf tools or using volume VOP’s to create clouds. We will be covering them in the following parts where they will come handy in creating clouds that cover large areas.
These low altitude clouds are mainly used as hero clouds and they will be used when we create most common cloudscapes from scratch.
For a sneak peek, one of the cloudscapes we will create, will be observing low altitudes from a high cruising aircraft. You can see an example below.
In the next part we will be covering high altitude clouds with VOPs and other techniques.
Thank you for stopping by.