How MPC modeled, groomed, simulated and styled Pumbaa’s CG hair and fur for ‘The Lion King’.

On The Lion King, MPC had its work cut out for it, just in terms of grooming furry animals. There are of course, a whole bunch of lions and hyenas, plus many other fur-covered African creatures. Even birds, like Zazu, used some of the same CG techniques used to make fur for their feathers.

One character that had some very specific grooming challenges was Pumbaa (voiced by Seth Rogen). But by considering a huge amount of reference and further developing its Furtility hair pipeline to adopt Houdini’s Vellum and do fur texturing using a ‘melanin palette’, MPC was able to make the warthog and all the other animals in the film as photorealistic as possible.

In this article, MPC lead groom TD Gabriel Arnold breaks down what it took to craft Pumbaa’s hair and fur, including the studio’s new techniques and technologies.

A warthog’s hair: so different, and sometimes so dirty

Gabriel Arnold (lead groom TD, MPC): The hair of a warthog is obviously very thick compared to other animals. It’s also less dense, it’s quite sparse compared to a lot of other animals. They’ve got these eyelashes that are really long and they sort of curl over the eyes and I think that’s part of protecting the eyes. They’ve got other features that protect different parts of their face. They’ve got bits of hardened skin that they use to protect themselves while fighting.

Grooming a warthog

For grooming, we use our proprietary toolset called Furtility, which is a plugin in Maya. We do final rendering in RenderMan. We start off with guide curves and create just the general flows and directions and then we start adding in clumping. One of the big things on Pumbaa was how scraggly the fur is, because he is rolling around all the time in mud, which makes the hair flow in different directions. We had to play with different frequencies and different scales in the scraggle to get it looking right.

Probability: new fur tech

The shading team set up new probability features so that there could be per-strand color texture variation. With very dense fur you would need a very high resolution texture to make sure each strand got a different hair color. Having maps for the probability made it easier to make wedges to test different probabilities which you could then use as a visual basis to paint different values for different areas.

Having this variation made each hair strand stand out a bit from neighbouring strands which helped make it look more detailed. The hair color probability feature allowed us to change the tip vs root color, to randomly add things like black tips to the hair depending on the type of animal and hair color structure.

Researching and applying the principles of melanin

A new method of being able to do fur texturing using a melanin palette (Eumelanin+Pheomelanin) was implemented using documented correct values based off research in how the pigmentation of fur works. Doing so makes it more physically accurate and prevents render issues that arise from using incorrect hues.

Eumelanin produces the brown to black pigments whereas Pheomelanin shifts more to the red pigments. Furthermore, the shading model for fur was improved to be more accurate in terms of structure by including the central medulla section, which has a different structure to the cortex and so scatters light differently giving the fur a generally diffusive appearance. This structure varies from animal to animal.

When rendered close up the new reflectance model had the benefit of looking properly cylindrical, whereas before fur strands looked like ribbons. This meant that fur had more of a specular response and so it looked more integrated into the environment it is rendered in.

Fur simulation

The technical animation department made use of the new Vellum solver for fur simulation in Houdini. Houdini was used on some fur simulation tasks on The Jungle Book, but with Houdini’s Vellum solver being faster to simulate, we could increase our curve count for more accurate simulations whilst maintaining our current iteration rate. Houdini/Vellum also offered us more options to be customized in building dynamic setups as well as more realistic simulations, better collisions, and self collisions.

A method was developed to calculate the Furtility groom in Houdini to get more accurate dynamic rest curves curves and in turn enable a better wrap of the simulation to the groom when it is rendered. Traditionally the dynamics curves are basically riveted to the skin, but this would not match how the Furtility groom would look like each frame because each frame it recalculates all of the clumps and other operators.

In the past this difference between the dynamics rest curves and the groom on the animated mesh caused problems getting the groom to look correct when dynamics are applied but the new technique helped with this.

Fur ‘averaging’

When you have long fur on a mesh that is deforming a lot (for example the mane fur coming of the neck of a lion) the fur can move in an erratic way, so software added a way to get the fur to use a edge-relaxed version of the geometry normals. This meant that the orientation of the fur was taken from a mesh that was deforming less which improved the stability of the fur.

The path to Pumbaa

I think I watched – pretty much every day on the way to work – a different wildlife program, whether it was Planet Earth 2, or all the ones on Netflix. I’d be looking at all the different references we could look at to try and see how warthogs look in terms of fur. And, actually, not just in terms of fur, because even though we do fur in my department, it’s all a collaborative process. So we’re always going back and forth between modeling to try and get things right so that we can have the volumes right in the model, so that we can get the right length of fur. I find it really fascinating to get so deep involved in the research in terms of that kind of thing.

Check out befores & afters’ other Lion King coverage.