Rendering and Compositing
/The goal with Speedman was to take the benefits of 2D animation and apply them in 3D.
CG Animation has traditionally been closer to an art directed reality simulator. Virtual lights being used to craft a virtual scene. This approach is capable of a wide spectrum of style but it’s only recently we’ve begun to see this explored (Spiderverse, Arcane, Puss in boots, etc)
Our wanted to keep everything mostly flat and graphic. Add enough detail to make characters readable, and then any little addition for mood. We really wanted to avoid that cell shaded CG look that betrays the depth of the model. Control the shadows and rim light, and only show what feels good on screen. No outlines if we can’t control them.
This approach was practical considering we’re not a massive studio with unlimited resources, and it also allows more expression and exaggeration in the animation style. The visual style of an animated film can dictate the animation style. If you push your animation too far on characters that looks almost realistic, you get upsetting or creepy results. It’s similar to what drives the uncanny valley. The human brain has an expectations of how things should move.
The shader we used the most in Maya was the Ramp Shader. This allowed us to create a two tone (Base color / Shadow color) image with control over how hard or soft the border between colors was. This would only work with one light in the scene at a time, so lighting was more about controlling how the shadow looked in the shot than it was about making a realistic lighting setup.
This created a very simple look that could be forgiving of any details lacking in the model. Again the thought process is to see everything as flat, then layer on what’s needed to get the look we want. Instead of having a high fidelity model with sculpted crease lines we used Brush Stroke geo to the line work needed to define the face. It’s the same way I would have wanted to draw it.
This allowed us to keep things simple. for example the eye lids are modeled in a sphere shape and placed inside of the head geometry. There’s no concern about how that intersection will look with the ramp shader. What’s most important is the readability of the eye liner. The shapes we get from the different colors in the geometry.
It was a tedious process at times, but this approach is actually very simple and anyone can do it. The biggest hurdle is to stop thinking about CG as what we’ve known it to be for the last 20, and look at it as a tool to get a visual you want.
The ramp shader isn’t perfect though. It’s incapable of a lot of behavior that could have given us more options. That was kinda frustrating when I saw Blender and Unreal Engine demonstrating more powerful cell shaders. We already committed to Maya so we had to see it though.
The next step was to render out each layer and do more work in After Effects. This means render a layer for the Base, Shadow, Rim light, and anything else depending on the shot. Ground shadows, specific shapes that will be on a layer that glows etc. This was all done with the Maya Viewport Hardware render. No need to touch Arnold or Renderman.
Here’s a breakdown of a typical shot in After Effects.
Most backgrounds could be rendered on a single layer. Unless there were specific foreground or background elements that were being interacted with. All the lighting in the environment is faked. Faces of geo are given different colors to imitate a highlight, a gradient shader on the back wall creates the impression of a glow in the environment.
Usually a Gaussian blur was used for close up shots so the focus was on the foreground. This also helped with a feeling of depth.
Usually screens and lights would have an additional render so I could turn up the glow effect on them.
Often the background characters were rendered whole, without breaking apart the base and shadow layer. This saved time as long as special adjustments weren’t needed for those individual elements.
These guys would get a little blur to help sell their distance.
Using masks and gradient layers we’d create special color influence. In this scene the previous shot has a light source that is really bright and yellow. This allows us to put a gradient influence from that light source.
Then we have the main focus of this shot. We start off with the base color. This often included the brush stroke lines that help define the face.
Then we add the shadow layer, this helps define the form of the head just enough.
Use a mask of the base layer to apply a colored gradient layer on. Same as the background characters, this helps sell the mood of the moment and acknowledge an invasive light source.
A rim light is added. This helps sell a little more depth to the otherwise flat looking character.
The final touch might be hard to see, but hopefully it’s felt. A radial gradient on top of the image to add some atmosphere and density for the off screen light source to shine through.
And above you can see how each layer feels as it’s being applied.
And that’s the workflow on a typical shot. It’s not super innovative and there’s probably better ways to approach it. This is what worked best with the limited resources at our disposal. In the future I want to explore better ways to approach this.