Thursday, January 7, 2010

Project Challenge: Disney Jungle



I had the pleasure of working on a very cool spot for Disney recently. The project was called "Jungle" and it was our job to take many of the animals from the world famous Disney jungle boat ride and do photo real CG head replacements for them so that they could be made to talk in the commercial. On this project I was the lead lighting artist and assistant CG supervisor. Near the end of the show I had to step in as CG sup when my good friend Richard's (senior CG sup on the project) wife went into labor.

Right off the bat I knew this project was going to test me. It was entirely character work which I've done very little of over the years. My first task was to model the face of the baby gorilla who at the time had the most dialog in the entire spot. So I put my character modeling skills to the test and modeled up the little guys face. My second task was to model the zebra's heads which also had a lot of dialog and we would see some close up shots of them. After the models were approved I moved onto morph targets. All the while we had two other artists modeling the other characters. In total we created 3 gorillas, 1 zebra, 1 lion, 1 lioness, 1 elephant, 1 tucan, 1 giraffe and 1 wildebeest. The models and lookdev was moving along very smoothly. There was just one problem at this point. We were never budgeted to do fur. All of these animals were actually rubber animatronics so they didn't have fur on their faces. The only exception to that was the zebra's manes and some whiskers on the lions. So I set out to find a way to create the fur. At first I went with a simple approach of using a bunch of cards with hair strands mapped on them. This was ok...but it really didn't look too realistic. We didn't have a fur solution that we could render in Maya/Vray so we needed to come up with some way of creating geometry that we could style and use. That's when I remembered my good friend 3dsmax. I took the zebra model into Max and used Max's hair and fur tool to create the zebra's mane. The bummer was that in Max the hair and fur tool does not create uv's...I just uses the color of the texture the hair is grown from to give the hair its color. Since I needed this to get rendered in Maya, I needed UV's so that I could have the black and white zebra stripes. I exported the geometry back to Maya and in a side view I planar projected UV's...Then I went in by hand and selected all the hairs that grew out of the black stripes on the head and moved their UV's to one side of the UV layout and all the white hairs to the other side of the UV layout. Then a simple texture map that was black on one side and white on the other was used to created the diffuse color of the hairs. This approach looked a million times better than the cards, but it was a longer render. It also allowed us to get backscattering on the hair and make them translucent.

Our pipeline had recently been given a major overhaul and we now had tools in place that made bringing in characters and animation into our lighting scenes a snap. It was literally a 3 click process for each character in the scene and you were ready to go. The lighting was all done using HDRI probes that were taken on set in Disneyland. A few extra area lights were used in some shots, but for the most part it was just a vray dome light with the HDR mapped to it.

midway through the project we got an updated cut of the commercial and realized large portions of the spot now had new dialog, characters that were not originally talking now had tons of lines and the characters that were talking the most before no longer were. This required us to go back in and create lots more morph targets and also look at what turned out to be the biggest challenge on the spot...The wildebeest.

The wildebeest was only ever intended to have one line...He was to say "huh?" We planned to do a 2d warp of his mouth in Flame, but now this character was saying all kinds of stuff. So we now faced a huge problem...This characters head is totally covered with scraggly hair. His lips barely were visible through his mustache. This now put a huge burden on our Flame artist and several of us 3d guys set out to create a mouth with morph targets that we could use to replace the lower half of the wildebeests head. We though maybe we could get away with only replacing the lower jaw. This worked ok, but it didn't look right that the upper jaw and nose did not deform at all (because we were just seeing the original plate photography). So we decided to try camera mapping the plate onto a larger model that included the upper jaw and nose as well as the lower jaw. This turned out to be really tricky to make look right. It even required us at one point to scrap the model and morph targets we had and start over. We needed our CG model to match as closely as we possibly could to the actual wildebeest in the plate. We eventually got it and started cranking out elements to pass to Flame. In Flame we still had a lot of 2d warping to do to marry the CG and the plate properly. In the end I think it turned out pretty well for having such a short amount of time to do it in, and never having planned or budgeted for this character to talk.

With our new pipeline tools in place the project went very smoothly. We were able to build shots and update them in no time. Even rebuilding a shot from scratch only took a couple minutes. At the end of this project the senior CG sup had to hand the project over to me when his baby was born. So the last weekend of the project and final delivery was in my hands. By that point everything was pretty much done and it was just down to the wildebeest shots. We delivered the project on time and I'm very proud of the team and the work that we did. Its one of my favorite projects that I've worked on during my time here at DD.

Tim

No comments: