Grimm: creature case studies

Deep into its second season, NBC’s Grimm series has showcased a wide variety of visual effects – from morphing mythological creatures called Wesen, to other beasts and magical elements. We take a look at the work of two of the studios involved with the show: Hive FX and Bent Image Lab.

Hive FX – Making morphs

Along with various other shots, Hive FX has worked on many of the key transitions seen in the show. They start with concept art of the particular creature, using ZBrush and Mudbox to sculpt models which are then rigged and animated in Maya, and then rendered through Cinema4D and the shots composited in After Effects.

See how Hive creates the transformations for Monroe.

“We take a lot of the reference images of the actor and of any prosthetics and in ZBrush we put those in and our modeler will be direct referencing those forms in all the different views,” explains Hive creative lead Guy Cappiccie. “We do a blending mode between the base of the character and the creature character – that keeps our poly flows the same and our UVs the same, so that then we can go between an actor and a creature pretty seamlessly.”

On occasions, tracking markers are placed on actors’ faces that are a guide for tracking via SynthEyes and for animation. On set, hrome ball and HDR references are also acquired. To realize morphs, Hive typically creates a base actor model as close to a representation of the actor in the scene. “We start with the human face and morph it to the creature,” says Hive lead 3D artist Karim Moussa. “We have a human base and a creature base which is being blended in 3D.”

A rigger produces many blend shapes in Maya which can be fired on different sliders. Another feature of the morphs are often ‘waves’ of textures moving over the face. “We will take a diffuse texture as a reference in compositing and do an animated mattes, just a black and white on a flat diffuse texture,” says Cappiccie. “Then we’ll give that to Karim as a JPEG sequence and he’ll use that to drive texturing.”

How Sauly is created.

One particularly challenging transformation effect created by Hive was for Sauly (played by John Dewar), a ‘Mauzhertz’ Wesen. “Sauly had a lot of human features to retain,” notes Cappiccie. “We would pick areas – he has a really nice nose to form, and his ears are shaped in an odd way. We amp’d those areas up. In comp, we have an enormous amount of passes we render our in Maya. The glasses were interesting with the bevel of the lenses.”

“We also made that creature as human fleshy as possible,” adds Moussa. “For the glasses, we had the character with no glasses and then had to make it integrate with him. That was the challenge – to make a small thing that was actually right in the CG and at the same time look realistic in human form. That took us some time to look right.”

Bent Image Lab – 3D and 2D solutions

Bent Image Lab contributed to Grimm’s pilot, and then returned mid first season to work on the show, including many transitions. Fred Ruff, Bent’s visual effects supervisor on Grimm, says that their approach on a typical creature morph shot involves the following steps:

1. Photo reference – Bent takes multiple photographs of the character in normal human form and in makeup. Ruff used for some time Autodesk’s Photofly tool. “You basically take a ton of photos, put it into Photofly and it creates a 3D mesh,” he says. “It doesn’t allow for out of the box – you still have to re-topologize to get the character. Ultimately it just comes down to our talented modeler.”

Go behind the scenes of Bent Image Lab’s work on Grimm.

2. CG – sculpting and texture painting takes place in ZBrush and Mudbox, with animation carried out in 3ds Max and V-Ray used for rendering. Hairy characters are realized using Hair Farm from Cyberradiance. Tracking is done in SynthEyes.

3. Morphs – Bent creates the transitions in Nuke using, for example, spline and grid warps. “If it’s a creature that has skin we also do veins underneath,” says Ruff. “But if the creature has fur, we run a noise ripple through the fur, and on the skin it makes the fur bristle as it moves across.”

In addition to the creature morphs, Bent was awarded some standalone key shots. In season one the studio worked on effects for a Spinnetod, a spider-like Wesen that attacks another character by throwing up acid into its mouth. Artists rendered the acid in RealFlow and Max and painted away away areas of the affected face.

For an episode in which one of the characters, Reinigen, leads a crowd of rats ‘Pied Piper’-style, Bent utilized the crowd system inside 3ds Max. “We had a wedge of 800 rats following this character so we had to have a lot of control,” notes Ruff. “To do all that animation, we decided to cache the animation of the rats themselves – it allowed us the freedom to offset the animation – but as we got into more of the crowd shots the cycles of the rats weren’t keeping up with the speed of the character that was running around.” Ruff solved the problem by writing only a few lines of scripting code that would check for the speed of a rat, and then control the speed of the animation on the point cache to keep up the speed of the character.

Bent has also developed several comp tricks in Nuke for Grimm. “One of the things I love is the operator inside Nuke called STMap,” says Ruff. “It’s basically a way of re-texturing a 3D object in 2D space. You render our your UV pass as a red to green gradient, and inside Nuke you can take that gradient and that’s your UV co-ordinates. If we were say morphing a character and his ear was just a little too full and we wanted a hold-out matte for getting rid of it, or darkening the ring around his eyes, we wouldn’t have to go back to CG and make a texture map and send it to rendering, we just give them the UV maps and each compositor could just make their own mattes as they went, and they really sped up the process.”

“Another cool thing,” adds Ruff, “is Nuke’s channel data. We have a lot of warping where we take a character and warp their face. We don’t just want to warp the RGB channel, we want to warp the vector channel, the z-depth channel – and I love the way Nuke sets that up by pulling data into one node, pass through all its channels and then keep working on it. You don’t have to reapply a warp for each pass you’re working on.”

A final small tool that helped integrate characters into the scenes was a gizmo that breaks up edges. “It’s called Edge Scattering – you can put it on any pass with an alpha,” explains Ruff. “Sometimes a character feels like it’s sticking out a little bit – you just put an edge scatter on there and it sinks it back nicely into the plate.”