This is the 6th post in our AWS Artist series, find the other five below:
AWS Artist Series: Compositing Spanner
AWS Artist Series: Creating characters with dynamic wrinkles
AWS Artist Series: Animating Noa
AWS Artist Series: Rigging the bridge for “Spanner”
AWS Artist Series: Laying out the opening shots of Spanner
Spanner is a short film about two bridge makers: Ulysse is an overly confident worker whose insecurities become very evident when he encounters Noa, a bridge building expert. Spanner was created by FuzzyPixel, an internal creative production team that tests the tools and services that AWS develops for animation and visual effects studios. The team ensures that these tools and services stand up to the rigors of real-world production. To do so, we create animated content using Amazon Nimble Studio and industry standard tools, and we aim to meet the level of complexity of our customers’ productions.
View the finished film here: Animated Short Film: Spanner.
In this post, I discuss the technical development and production of the sea of clouds that fills the surface of Spanner’s unique world.
Effects in storytelling and effects as storytelling
Visual Effects (commonly shortened to VFX) are vital to any modern film production, animated or not. Generally, VFX refers to any form of digital change or addition to a shot. VFX can encompass slight changes, like adding steam to a kettle, as well as fully computer-generated imagery (CGI) environments and characters added through green screens.
VFX ranges from the visually complex, fantastical, or breathtaking, to subtle, lifelike additions. In the end, regardless of the story or quality of a script, VFX support the story being told.
In Spanner, the characters’ story takes place in a world that exists above the clouds. So, we decided the clouds should take on an appearance similar to an ocean or sea, rather than a real-world sky with fluffier cloud shapes. The concept of an ocean of clouds also reinforced several story and world building ideas:
- Combined with the stone pillars, the clouds provide a sense of massive scale and vertical depth
- The sea of clouds replaces the “ground” to create a sense of mystery about what lies behind and beyond
- Clouds reinforce the reason for Noa and Ulysse’s profession: building bridges between the mountain pillars
- The clouds provide atmospheric movement and light, yet do not distract viewers from the characters
Given that the sea of clouds appears in almost every shot where the camera doesn’t point up, the design of this asset needed visual complexity and interest, without overwhelming the scene. The clouds should not pull focus away from Noa and Ulysse, and should always properly scale to the rest of the world.
In terms of production, the massive scale and complexity of an asset like the sea of clouds created an opportunity to showcase how Amazon Nimble Studio can push visual fidelity and production capabilities.
The first step was to determine what this ocean effect would actually look like, and why. I needed to establish this before running any simulations or rendering any frames.
What makes a cloudscape?
Before running simulations and rendering frames, I wanted to establish a visual baseline. Early in the production, Haley Kannall, the CG supervisor on the FuzzyPixel team, created this piece of concept art. It helped the team understand the scale of the world and how the sea of clouds was meant to feel.
With this piece, we see that the clouds have the appearance and feel of the ocean’s waves rather than a typical cloudscape. Instead of towering cumulonimbus thunderheads, the concept art evokes the top side of a cloud layer or blankets of fog between mountains.
The next step was to gather real-world cloud references. The team and I didn’t want simply to create an exact one-to-one recreation of a large fog layer. My research included examples of how fog and clouds form and dissipate, and how fog and clouds move and interact with large-scale landmasses.
Pulling from real-world reference and research is one of the most important steps in any artistic recreation. Understanding and observing reality allows for more accurate and appealing visuals that “break” from reality.
After we finished gathering references, we added more visual interest and detail onto the surface. For an ocean of clouds, we created wavelike structures. These waves roll off the top of the surface, creating wispy tendrils of fog, a subtle way to evoke ocean movement without visually dominating a shot.
While working on the cloud waves in SideFX Houdini animation and VFX software, I looked into how other VFX artists handled clouds or layers of fog. In particular, my interest lay in their methods for creating shapes and motion.
The artist who stood out to the team is Sergen Eren, a Senior FX TD at Tangent Animation. In his blog Creating Cloudscapes with Houdini and Arnold, Sergen shared how he created Kelvin-Helmholtz clouds in SideFX Houdini. We used a similar method—custom velocity fields—to mimic the wavelike shapes of Sergen’s clouds. This method helped our team solidify the direction of Spanner’s cloudscape.
Don’t reinvent the wheel
While integrating these cloud shapes, we realized that the scale of the scene and the world we desired presented a problem to other departments downstream from the effects department. For example, fully simulating the entire surface would be far too unwieldy for Lighting and Composition.
This became apparent while attempting to simulate collision interactions with the rock pillars scattered throughout the background, as the clouds ran all the way to the edge of the horizon. The amount of time the simulations took began to eat into the production schedule. Therefore, in order to integrate the cloud ocean into the rest of Spanner’s world in a timely fashion, I needed to simplify and retool my approach to creating the surface.
To simplify the base forms and motion, I put aside some of the custom work that I had done so that I could take a step back. Considering that we wanted “an ocean of clouds,” I took the idea of a cloud OCEAN literally.
Simply put, in my initial passes of this effect, I started from the point of “cloud.” We based this on a world described and built up by the team. However, to find a new method, I had to start from “ocean.”
After I finished my extensive reference gathering for clouds and fog, I looked into Houdini’s toolkit for a built-in tool or method that I could leverage. My goal was to bring this retooled approach up to the quality that I needed quickly. I had already used part of SideFX Houdini’s Ocean tool shelf to test some of the wave motion in previous iterations, so I revisited the tools to see what I could leverage.
Houdini’s Ocean Tools (Small Ocean and Large Ocean) generally are used to create geometry surfaces that deform based on a series of settings and inputs, allowing realistic looking waves and motion to be made without having to run a complex fluid simulation. I used these tools to create a base layer of cloud volume in Spanner.
To simulate or not to simulate
Given that Houdini’s Ocean Tools create a single plane of geometry and not a full dynamic volume simulation, I adapted the Ocean Tools output into a volume. To do this, I stripped out the unnecessary attributes, extruded the surface to give it real depth, and then converted it to a non-simulated volume. This process eventually gave way to a base layer of cloud volume, which provided major elements that contributed to successfully achieving the final look.
For example, since the base cloud layer was non-simulated, but still had the animated motion generated from the Ocean Tools, the cloud layer didn’t need to be calculated on every single frame, giving me a lightweight base to create internal motion in the final simulated cloud volume. The non-stimulated layer also tiled seamlessly so that copies placed directly next to each other have no visual breaks—this allowed us to create massive scale extremely quickly. Since the base layer was so lightweight and scalable, I could rapidly respond and adjust the cloud volume based on director feedback without having to wait for the fully simulated version. With the base layer of the ocean set, I progressed to creating more detail and visual interest by using this base layer as a source volume for a full-scale simulation.
We wanted the simulation to be more than just a surface that would amount to a ground plane. Therefore, the simulated version needed wisps and tendrils of the cloud volume rolling off of it constantly, like drifting sea spray. To achieve this, I looped back to some of the velocity fields that I created during my initial development and reference gathering.
By using an appropriately scaled version of those fields, in combination with the velocities generated by the Ocean Tool, I began an iteration of the cloud ocean with more detail and motion than the baseline gave. Not only did the additional motion add dramatic movement, it also created deep recesses and dynamic shapes that added realism and visual interest across the surface of the cloud ocean, particularly when lit. These dynamic shapes helped integrate the rock pillars and the ocean with each other, without relying heavily on fully simulated collision.
By simplifying my approach to the creation of the base cloud layer and combining it with tools and assets developed from the initial exploration, I could create a dynamic simulated effect that could iterated through quickly and efficiently, without it being overly cumbersome for later departments to work with.
Filling the sky
In order to be efficient with the simulation time and complexity, we focused the ocean to a large patch surrounding some of the rock pillars, even though it did not span the entire environment. To fill out the environment all the way, I worked closely with Haley Kannall (who was our concept artist, as well as our Lighting and Composition lead). Together, we worked on reusing this same patch repeatedly, causing no obvious visual repetition. By rescaling, retiming, and a few clever camera tricks, we filled out the entire background with visually distinct shapes and motion. Even as the camera pans across the horizon in the opening shot of the film, the cloud layer feels like it’s developing and changing, despite using similar assets to fill the space.
The scale of this ocean plane allowed the Lighting department to use various sections of these patches for the down shots in the latter half of the film, leveraging some of the wave shapes to create long shadows and introduce visual texture in some sections to increase visual contrast in the background.
Working in VFX can be daunting when looking at the scale and abstractness required. However, the level of complexity also gives great an artist the freedom to find and create impressive and captivating visuals.
While artists and Technical Directors approach each effects shot or asset in a different way, one thing is similar: We all pull insights and inspiration from the real world and from each other’s ideas.
Often, iterating and investing time into an idea, even with the strongest reference material, can cause an undesirable conclusion. Fortunately, there can be value in going down different paths.
Sure, taking several steps back and leaving some work behind may seem intimidating, but it presents opportunities to explore new ideas. For example, you can look at a task or problem from a different perspective that may not have been clear when you started. In fact, even if the direction of a shot goes a different way, I like saving iterations of my work or early developments, because I often find some use for those in the future.
It can be tempting to create brand-new works at every opportunity, given the desire to push yourself to higher creative levels. However, try looking at ideas and tools that exist, whether they are shared knowledge from your community or something you developed for a completely different purpose. These can become the springboard for your next masterpiece.
Have a question for one of our artists, authors, or compositors on this series? Let us know in the comments or on social media. Once the series is complete we will be posting a roundup of Q&A.