This is the 3rd post in our AWS Artist series, find the other two below:
- AWS Artist Series: Compositing Spanner
- AWS Artist Series: Creating characters with dynamic wrinkles
Spanner is the story of two bridge builders, Noa and Ulysse. Noa is an expert in her field; she trained hard to get where she is, and is the no-nonsense type. Ulysse spends more time on his reputation than he does on his skillset. Their personalities are reflected in the way they interact with their environment. As Noa intuitively and efficiently manipulates the vines and rigging to traverse the bridge, she embodies confidence. Ulysse, on the other hand, only pretends to be confident. Beneath his clumsy grandstanding, it’s clear that Ulysse is much more comfortable on solid ground.
In this post, I break down my process for animating the last shot in the short film. This takes place after Noa has rescued Ulysse and has finally given him a job he’s suited for—holding her tools.
If you haven’t had a chance to yet, watch the film here: Animated Short Film: Spanner — YouTube. To see the specific shot that we cover in this blog post, go to the timestamp 2:14 in the video.
To animate Spanner, we used Windows instances running on Amazon Elastic Compute Cloud (Amazon EC2). The software we used was Autodesk Maya, and our production pipeline was based on Autodesk ShotGrid with a number of custom plugins and scripts. When giving reviews, we used Amazon Chime for video conferencing, and SyncSketch for notes and annotations. We assigned shots to animators based on specific characters, allowing them to focus on Noa or Ulysse’s mannerisms.
In general, each animator is responsible for delivering about 3-5 seconds of animation per week. This can fluctuate depending on the complexity of a shot, but that’s a good average. That may not seem like a lot to deliver, but animation is a slow and deliberate process. There are 24 frames in every second, and each one of those frames is carefully considered and important. In order to create performances of high caliber, it’s necessary to have a process that allows for exploration and creativity, while still moving shots along in a consistent and predictable manner.
The first step to animating any shot is to have a clear and exact vision of what you’re going to animate. This means that your director should provide a “launch” to clarify the core idea of the shot. For example, an animator may ask: “Why is this shot in the film?” or “What do you want the audience to learn?”
To help focus the conversation on the shot’s intent, during the launch meeting we reviewed the storyboards drawn by Kathy McNeal, and the rough layout by David Murphy and Kat Curry.
Our director, Rex Grignon, was clear that we should demonstrate Noa’s confidence under the bridge. She should be suspended and very comfortable, as if she’s done this thousands of times. She should be balanced, deft, and able to manipulate herself around the bridge intuitively. Ulysse should simply be tied up in vines, extremely awkward, and just slowly rotating around. He is shocked by what he saw below the clouds—terrified by that experience. When Noa speaks to Ulysse, he can come out of his daze for a beat to glance at her, but not much longer than that.
After the launch
After launching the shot with the director, the animator dives deeper into their ideas. During this stage, the animator is trying to wrap their head around the true intent of the shot, and is figuring out the best way to sell it. The animator may thumbnail some poses, shoot the video reference, explore the layout, or bounce ideas off other teammates.
I like to start this step by playing the “What If?” game. In this game, I spend about 5-10 minutes just brainstorming ideas of what could happen in the shot. I let the ideas go a bit wild. I explore beyond the first ideas that pop into my head. Not all of the ideas are winners, but that’s okay. The point is to stretch my brain and come up with something unexpected.
After exploring a few ideas for the shot, I shoot some video reference. It’s not always necessary to act out a shot completely; sometimes the reference can be helpful, just for a particular action or performance beat.
In this case, I didn’t have access to a bridge or any suspension gear, so I simply sat on the floor and tried a few takes. My goal was to figure out when Noa should pay attention to Ulysse. Should she be focused on him the whole time? Or should she be focused on her work and then take notice of him just before the line?
I showed four options to Rex for discussion. He liked the idea of Noa being focused on her work, and then using a tool to push Ulysse to emphasize a word—as a visual punctuation of her line, so to speak. Option 3 seemed to be the most relevant, except at the end, the poke didn’t feel quite right. Rex and I decided it would be better to have Noa nudge Ulysse during that moment, not poke him. Rex’s great feedback was just what I needed to start on the next step: blocking.
The blocking phase of a shot is when you determine your characters’ poses for each performance or scene. You want to get all of the key acting beats—clear poses that tell the story.
Many times, animators do this by using something called “stepped” or “held” poses; these are poses that don’t interpolate between frames. The animator holds a pose for 10 frames, then pop to the next pose for 12 frames, then the next pose for 4 frames, and so on. This allows the supervising animator and director to eliminate unintentional motion and distractions from their feedback, so that each pose is the strongest it can be. Sometimes blocking a shot can be as simple as setting four or five key poses. Other times, many more poses are required.
For this last shot of the film, I spent quite a bit of time thinking about a few key moments in the shot. I wanted to demonstrate that Noa was working on the bridge, and wanted to draw the audience’s eye to her right away. To accomplish this, I decided Noa should pull sharply on the vine at the beginning of the shot. This fast movement would immediately focus attention to her face. The next key moment is her noticing Ulysse. In order for that to read, the audience would have to be looking at her eyes. This is why Noa’s hands are pulling towards her face and her eyes are wide open—it holds the audience’s attention. I wanted to maintain that hold for a little longer, so I made sure to lean her forward as she reaches up her arms, keeping her face near the action.
It’s time for the audience to get a sense of how useless Ulysse is. To direct the viewer’s eye, I made Noa glance over to Ulysse. However, I then wanted the audience’s eyes back on Noa as she manipulates the vine and pulls herself up. To achieve this, I redirected her gaze back to her screen-right arm, just as she began the motion of wrapping the vine around it. I knew this was going to be a very complicated bit of animation, so I practiced the motion a few times myself.
To get the pull to work, I wanted a strong contrasting motion—two objects moving either towards, or away, from each other. This would give the appearance that she was pulling directly down with her shoulder and arm, lifting her body at the same time. To help sell her ability with this move, I hooked her foot under the leg, pulling even further. This allowed me to get a strong line of action moving through her body from her foot, all the way to her hand, which was reaching towards the tool.
After Noa grabbed the tool, I had to figure out how to get her to change her grip from holding the tool from the head, to holding it by the handle. This presented a great opportunity for Noa to show off her skills by spinning the tool around her finger, and at the last moment, sliding her grip to the handle. I’m not sure if it would work in real life, but it seemed plausible enough.
Looking for more contrasting motion for the push-off from Ulysse, I made sure to get enough compression in Noa’s upper body by pressing the head of the tool to Ulysse’s head, and bringing up Noa’s elbow to get a nice arc. Then, I extended Noa’s arm, while trying to straighten her body as much as possible. To sell the weight, I figured that Ulysse is more massive than Noa, so I pushed her back farther than he moved. High school physics lessons for the win!
Throughout the blocking process, I got some great notes from Rex about how to stage things to be more effective. For example, I was having trouble with figuring out how to get Noa back to work after pushing Ulysse away. Rex solved the problem very simply: “Don’t have her go back to work after pushing him.” Not only did that simplify the action, but it also gave us an opportunity for the two characters to connect at the end.
After the blocking animation is approved, it’s time to take the animation to the next level. This means leaving the safety and comfort of stepped or held poses, and moving to “spline”.
Many animators dread the transition to spline because the shot is mostly “working” at this point. The poses are solid, the timing is good, and people are generally happy. The moment they select all their animation curves and change the keys to spline mode, they lose all the crisp and clean goodness of their shot. They find that the poses get mushy, and the timing is less than ideal. They may find that the interpolation for some body parts spin out of control. If they’ve forgotten to set some keys on certain limbs, their shot could look like a hot mess. When these things happen, you might spend the next day or so scrambling to make the shot look good again, just trying to get it back to its former glory. That’s no fun.
That’s why over the years, I’ve developed a workflow to help me transition my shot from blocking to first pass with consistency. Yes, the shot still goes through its adolescent phase where it fights me at every turn, but this process keeps things moving forward smoothly.
Convert in stages
Instead of taking the entire shot and converting it from stepped to spline at once, I select a small range of frames with a clear action that has a beginning and an end. Then, I adjust the frame range to just that section. For example, in this shot I started with the “pulling” action from frames 101–118. I set a keyframe on the entire body at frame 101, and again at 119. This gave me confidence that the rest of the shot was “safe”, and would still be how I left it, even after manipulating the first chunk.
After adjusting the frame range in Maya to show only a small section of the shot, I start working on various parts of the character’s body—usually from large to small. This means I clean up the torso first, because its position and movement impact the legs, arms, hands, toes, and so on. If I clean up the arms first, I would then have to go and clean them up again after cleaning up the torso. That’s not a very efficient way to work. Therefore, cleaning up larger, more impactful body parts before cleaning up smaller parts is the way to go.
The following movie is just the pull action, where the torso is taken out of stepped mode and cleaned up, but the arms and legs are still blocked. It’s a bit distracting to see a combination of stepped and splined keyframes, but with practice, you can learn to ignore those other body parts.
I continue working through the shot, adding more body parts and extending the frame range as I go. This gives me the ability to work quickly and confidently without getting distracted by the enormity of the task at hand. It also gives me the ability to plan my time appropriately. If I have a meeting coming up in 30 minutes, I can reduce the frame range to a small section—say, 12 frames—then tell myself: “Okay, I’m going to just clean up the arms for these 12 frames by the time the meeting starts.” I can then complete that task and know that I’m making good progress. Here are some movies demonstrating the progression, as I worked through the shot.
The final act of working on a shot is polishing it for delivery to the next team in the pipeline. After animation, that usually means the department that handles clothing, hair, and any other character-based simulation. This stage is the animator’s last chance to finesse and tweak a performance. During the polish, a lot of time is spent cleaning up any pops in the movement, double-checking eye lines, finger contacts, and giving it that last little bit of love.
It’s easy to spend just as much time polishing a shot as one does animating it. To move the shot along, I focus on the most important area of the screen (for example, Noa’s face) and play the shot back 10 times. As it’s playing, I note any major issues that I see. Then, I look at the next important area of the screen, play the shot 10 times, and make notes. I continue this process of focusing on a particular area and taking notes until I’ve spent about five or ten minutes just jotting down my thoughts. Then, I organize these into a priority list, making sure to tackle the highest priority notes first. This way, at least I know the most important things are taken care of.
Wrapping the vine around Noa’s arm
One challenging shot involved the part where Noa grabs the vine and twists it around her arm. Nico Sanghrajka set up some controls that allowed me to animate the vine’s broad movement, but there wasn’t enough control to wrap it around Noa’s arm.
I realized that the best solution would be to take advantage of Maya’s Nucleus physics engine to simulate the vine, giving it the ability to react to Noa’s body.
I began by creating a NURBS curve and converting it to nHair. I then extruded a surface along that curve, giving the hair some thickness. In order to track the movement more effectively, and ensure that the vine didn’t stretch or slide in Noa’s hands, I mapped a simple grid texture to it.
Next, I used a simplified version of Noa’s geometry as a collision object, and created a few elongated toruses to act as her hands. This way I could manipulate the vine and make it appear like she was grabbing it, without needing to calculate actual collision with her fingers.
With the first simulation test, it was pretty clear that this technique would work except for some challenges with the vine sliding through Noa’s hands at the end.
The final solution involved setting up a number of animated constraints with the nHair that I would toggle on as it wrapped around Noa’s arm. This ensured the vine would stay locked to her forearm, while still simulating freely above and below. This took some iteration, but eventually ended up with a solution that held up for the needs of the shot. After the vine’s motion was approved, I used the extruded surface as a wrap deformer to drive the final vine geometry.
Here is the final shot with hair and clothing simulation, lighting, and compositing.
Animation is an iterative process. It takes time and patience to finesse and sculpt a performance. Focusing on each stage of crafting a shot allows you move forward with confidence.
Start with a clear understanding of the reason the shot is in the film. Take time to work with the director to understand what the shot needs to communicate. Play the “What If?” game to explore options for how to best tell the story. Once you’re ready to start animating, think through the important moments and block those key poses. What was the character thinking before the shot started? Why are they performing this particular action? Where do you want the audience to look? Why?
After the shot is approved in blocking, approach first pass in stages: Shorten the timeline to single actions and clean up each moment starting with the largest body parts first. Work iteratively and consistently until you’ve made your way through the entire shot. When polishing your work, take time to write down all the notes in order of priority, so you can be sure to have solved the major issues before sending it on.
By developing and working on your process, you reduce the stress of animating in a time crunch. This allows you to explore and have fun figuring out the best way to deliver a compelling performance.