Monday, December 15, 2008

Charlie Brown- proof of concept test


Last year around this time a small team of folks at Big Idea were given the task of trying to come up with a way to do Charlie Brown in CG. We were one of a group of studios pitching to get the Peanuts animated comic strips project headed up by Warner Bros.. Since the general expertise of Big Idea is in developing shows for CG, the decision was made to try and make this in CG. My old friend and former colleague Brian Roberts was assigned as the director.  He had been following my non-realistic rendering tests on this blog, so he asked if I'd like to lend a hand at driving the CG art direction. I was in the US at the time on other business so I decided to join the project. The team was small and the schedule was smaller- just two weeks. We started with nothing but an idea. Brian's goal was to try to express the original cartoon strip look and feel without resorting to the 'typical' CG approach of literalism- especially of form. With that, we set off.

Brian was the director. Chuck Vollmer was the production designer did the background painting along with some beautiful painted textures. Joe Spadaford was a 2d concept artist and he painted a number of the flats and textures as well. Steve Fuller was responsible for the CG set- including modeling, texturing and lighting. I did everything with Charlie Brown, modeling, rigging, texturing, animating. I also took the lead on getting the CG style to look the way we wanted it to.

We wanted to keep things feeling as 'analog' as possible. All the textures on the set and flats were hand painted with gouche on board and scanned in. We found that a nice painting of a texture got dumbed down once it was applied as a texture-map and rendered. So Chuck went back and "sloppified" the paintings a bit. It looked kinda rough when you held the painting in your hands, but that roughness was needed if even half of it was going to show up in the render. Where this was most evident was the dog house.

The other challenge was getting Charlie Brown's facial animation, as well as the scratchy ink lines on his shorts and shoes. Once I solved that I felt really confident that we could hit the style. The animation is on 2's, another nod to the original Melendez approach. I also tried cycling a non-uniform procedural texure to the solid areas of color to avoid that computery perfection of color. I wasn't too happy with how that turned out. Given time I would have used Prismacolor markers to make 4 or 5 versions of the colors and cycled them as an animated texture on 4's, but the deadline intervened. Anyhow, watch the test and see what you think. There's no post process here-- everything you see is rendered straight out of Maya.


Ultimately the powers that be went with another studio using Flash animation. Back in early November Cartoon Brew had a short note about it. You can buy them for your very own on iTunes. While I suppose I'm a bit disappointed that our approach didn't win the day, from the objective standpoint of maintaining the look and feel of the property I think it was a wise choice to go with using Flash. They did a very good job of faithfully continuing the visual style of the Peanuts cartoons, whereas using CG we could only re-interpret it and try to be faithful to the original intent. I don't think our approach was necessarily inferior- it was just different. And for this project that probably wasn't the best choice. I recall a similar experience back when I was at Blur. Blur did a test of Mike Kunkel's Hero Bear in CG. For CG it looked quite good. Blur does great work, so that's no surprise. Yet it just didn't seem to "fit" the property. Some things are just better done 2d, I think.

15 comments:

Jeff Simon Animator said...

Sweet

LampshadeMan said...

That's awesome! For a 3d test I think that you guy did a good job at keeping the style(no small feat for 3d). I thought your version was going to look like this post from Cartoon Brew.

http://www.cartoonbrew.com/cgi/ugly-cg-peanuts

Thank God.

Anyways, I'd say the the official flash cartoon is re-interpretation as much as the 3d version, both of which aren't hand drawn animation. I actually like you guys version a little better because although it's 3d you guys really try to incorporate the graphic feel inherent in hand drawn animation with the expressions and textures where you could have given us a 3d version of it while the flash animation never really incorporates the illusion of 3d you can get in hand drawn animation. Even the Lucy head movement, you can tell it is flat graphics of the same drawing being manipulated. And this is no disrespect to the animators who animated it. It does a very good job. This is a problem, to me, that is inherent in flash, or in the way we use it, that it tries to mimic hand drawn animation and in it's inevitable short commings of a copy, doesn't add anything to make up for that. Wow, I've rambled on for too much, Good stuff!

Breadwig said...

You guys all did a spiffy job on this. It's pastry fresh.

bclark said...

interesting post Keith,

On first watch, I liked the style/painted bg look that you got but the bottom of his shirt bending with his legs took me out of it. I know it was a test etc but I wanted to mention it as a point that some of the biggest problems with the 2d fake from 3d are deformation issues that show up as either artifacts or just strangeness.

I actually have the same issue with the motion bluring of cg in vfx films with 3d characters, I think of the things that look fake, the blur looks the worst..either because the blur is not photo real or it is and the cheated speed of animation makes it all look like a big blurry mess that does not match the plates.

Also interesting about the paint not showing up when rendered? what do you attribute that to, the textures being filtered when imported in as textures? AA pass in the final image? I have noticed in the past that Maya textures auto filter and made a mess of some scanned textures I had done like this for a personal test.

Anyway, I love seeing how the 2d to 3d character issues are approached as it can be a hard road when you start seeing how 2d animation and character design "cheats" and gets away with so much stuff that a solid 3d object can't.

Thanks for putting it up.

Keith Lango said...

@bclark:
Thanks for the good word. I did a pretty thorough study of the 2d animation, specifically the walk cycle, and Melendez does put a bend on the shirt where the leg comes up. I got that working OK. But the 2d version the shirt doesn't go down with the leg going back. That I dropped the ball on that part for sure. The deformation is one of those things that I would have definitely fixed had the time allowed because I wasn't too happy with it, either. It's not an insurmountable issue, though. A clever set driven key on a blend shape would have worked better. Oh well, lessons for next time.

Thom said...

Keith, did you use Veggie Mouth Technology™ on Charlie's face? That's kind of what it looks like.

You did a great job, but I have to agree that the flash version turned out more appropriate for the material.

Keith Lango said...

Hey Thom,
No, we didn't have the time to get that up and running (not to mention the expertise). Veggiemouth stuff is kinda arcane to set up and I don't have enough experience to set it up myself (and whatever experience I did have it'd been at least 7 years since I'd used it). Instead I went with simple animated blendshapes on a curve that updated a live trim on a nurbs surface that was in front of his face. Same concept, but instead of the curves for the mouth feeding into a rendering plug-in, it just cut the nurbs object. Since there's no shadowing and a flat look is what we were after this low-tech solution did the trick. If it had gone to production no doubt we probably would have used the Veggie mouth tech. At least for most of the mouth. I used Maya's PaintFX for the squiggly line mouth, though. Simple visibility switch to get that one.

Tim said...

This a great effect. Maybe we can sell the style to another project, yeah?

gemini82 said...
This comment has been removed by the author.
gemini82 said...

Good test considering the deadline. I know its a bit after the fact but you may want to check out Le Building, an opening for annecy a few years back. There are a few shots of the pizza guy, its an excellent example of effectively mimicking 2d animation.

Also Pixar posted an article about a year back about how the did the chef scene in Ratatouille.

http://graphics.pixar.com/library/ToonRendering/index.html

I love to pick your brain one day Mr. Lango. I'm about to start a case study next month on effectively mimicing 2d cell animation.

Andrew Lee said...

Looks cool...I could appreciate that look on a different project.

How did you get the ink like outline on Chuck?

FleaCircusDirector said...

Keith, some very good results there, massively better than the experiments I made back in 2000. I used 2D cutouts animated in a 3D software tool called Raydream. I'm also planning to switch to Flash (using Anime Studio) when I finally finish the project and get back to that one.

Ana Leitao da Cunha said...

This is so cute!! I love Charlie Brown since kid!!!!

David Beer said...

Hi Keith. i cant get my head around how you managed to do a side view, 3 quater and a front veiw with that face design. are the black lines, like the nose, actual objects?

Keith Lango said...

Over all the most important thing with the animation was for me to get very familiar with the established visual language of the character and then being faithful to it.

@Andrew: I used Maya's toonline feature, but I roughed up the line thickness and then animated that value.

@David: Side view was a different head than the front view head. I animated the vis switch on the head turn. The comic strip/Melendez Charlie Brown has only a very few head orientations, so part of the style was to limit our efforts to those. Animating on 2's allowed the switch to occur without any troubling effect. As for the nose, I just flipped the direction based on which way his head is turned. The nose is a separate animatable piece, as are the ears. It was just a matter of putting the pieces where they should go for the particular head angle. It was pretty simple, really. The ears and nose had their own toon outline, too, but the intersection line was disabled. Eye animation was done by turning on or off the vis for a set of eye objects. I went with objects instead of textures because I could see them in the OpenGL viewport without needing to have the textures on. That and I hate UV work.

The character has been so well defined for so long that it was just a matter of finding techniques that allowed us to be faithful to that, rather than trying to do things the "CG way". Oddly enough I used techniques from the 'old days' of CG-- cheats and stuff I learned 15+ years ago on cheap software. We're talking before you could do things like blendshapes and bone deformations. Well, you *could* do those things, but you needed a turn-key SGI system that cost as much as a small house.