Problem: Our current film, Ram's Horn, takes place at the summit of a mountain in the Swiss Alps. As such the main component of visual interest in the sky is the clouds. Not only that, there is a layer of clouds that plays a key role in the story itself, so we need to make sure that the clouds in this film look and feel stunning!
The Visual Development team came back with these paintings describing what the clouds should look like. The first details the clouds as they should appear in the background. The second shows what the hero cloud layer should look like.
 |
| Concept Art |
.jpg) |
| Environment Concept Art |
Solution: I first starting tackling the background cloud generator. Taking a good look at the first concept, it was clear to me that the general shape of each of these clouds could be outlined with five circles. Changing the size and position of these circles would give us the general shape of each of these clouds.
With that in mind, I set out to make a tool that would allow an artist to take five spheres and make any shape that they wanted as long as the spheres were still touching. Here is the node network I came up with for the first prototype:
 |
| Initial Cloud Builder Node Network |
I created five spheres and promoted controls for free rotation and scaling.
To make sure the spheres would always be touching, I designated the center sphere to be the root sphere and allowed it to translate freely. The other cloud positions I set as a function of their size, the position of the root sphere, and a ratio that they would provide to define how far up or down the adjacent sphere they would sit. All of these controls were made available in the Build tab.
 |
| Build Tab |
Once I had the basic shapes established, the next step was to actually generate the clouds from the geometry. So, here I decided to make use of VDB volumes that were newly included in Houdini for efficency. After creating a volume off of these shapes, I spread out particles into the volume and generated additional volumes off of these that will act as bulbulous shapes that are iconic to clouds.
Options concerning this are made visible through the Cloud tab
 |
| Cloud Tab |
From there I converted the VDB into a density volume of adjustable scale and it produced a rather decent looking customizable cloud.
At the same time, Kaleb Goulding worked on sculpting out the shape for the cloud layer that would become a part of the story. His concept for its construction consisted of an extruded grid face with sphere scattered over the top surface as seen below.
 |
| Kaleb's Cloud Layer Shape and Network |
The next task I set myself on was actually coming up with a shader that would act well in for these clouds in the light that we proposed. Shading volumes turns out to be a bit different than shading a straight surface. I've shaded surfaces before and hopefully I'll be able to write a post later on how that was accomplished.
For now, the important things to this shader were determined by the Volume Model node in the shading network. The most important thing to consider with a volume like this is how well light passes through it, or the density of said volume. Once that is established there are several colors that need to be identified, the color of light that is reflected off of the surface and the color of light that passes through and is effectively emitted from the center of the cloud.
Considering these factors, this is the node network that I came up with for the shader that served me the best.
 |
| Cloud Shading Network |
Using this network, I was able to achieve a nice stark contrast in lighting that would lend itself well to the extremes that are presented by the second piece of concept art shown at the top of this post.
 |
| Cloud Shader Test |
 |
| Cloud Shader Settings |
So all that was left was to try this shader out in a scene. We elected to use Kaleb's cloud layer shapes to test the shader out in a scene from the film. Working with Ethan Dean, we got the lighting set up for the scene and we applied this shader with some adjusted color settings to better fit the scene and came up with the following results.
 |
| Lighting Setup |
Obviously, this is still a work in progress, but is goes to show several things. First it shows that this shader and the shapes are working on a basic level. Next is shows that there are some voxel based rendering issues that would need to be addressed for the next pass. Also, what's not evident from this render is that the time per frame for rendering was several minutes. That's not bad for now, but as the detail scales up you can be sure that this could start to present a problem. So, we'll continue going forward with these issues in mind.