Sintel, the Durian Open Movie Project » Blog Archive » Sintel: Facial Blendshapes


Sintel: Facial Blendshapes

on February 24th, 2010, by angela

Sintel shapes, 12 examples

Sintel facial shapes test, screencaptures

some quick tests combining shapes, screencaptures

Sintel pupils dilate, test renders

Note: This blog post is only focused on facial shapes. Texture is still in progress.

Our main character Sintel has a total of 55 shapes. These shapes have all been hooked up to Nathan’s facial rig. Tomorrow I will start creating various poses (phonemes & emotions) for our facial pose library.

Some of my workflow when creating facial shapes:

– I start by shaping each in its symmetrical form using X mirror and proportional edit.Β  For better precision and polishing, I move vertex by vertex.

– While the shape is taking form, I constantly scrub through 0-1 (0-100%) range value to ensure natural motion from default to shape. I also check to make sure motion looks natural from all view angles of the face (front, three-quarter front, side, three-quarter back, top, bottom).

– Overriding the shape beyond full value of 1 will help magnify any trouble areas and/or continue building from it.

– For shapes that need to mix well together, I activate two shapes at their full value and continue editing on the active selected shape.

– For mouth shapes, I open the jaw for inside mouth cleanup, ensuring the mouth is not intersecting through the teeth.

–Β  Each shape is exaggerated beyond what is considered natural. This allows for better flexibility while animating. For closer shots, the animator can go from subtle to a maximum of about 60-70% of the shape. Pushing beyond 60-70% range is reserved for distant shots where the extreme maximum 80-100% of the shape can still be read from far away.

– As a final step I split the shapes up (example: left side & right side) using vertex groups and “Mirror Shape Key”.

p.s. Shape key creation in Blender 2.5 is awesome! πŸ™‚

– Angela

84 Responses to “Sintel: Facial Blendshapes”

  1. kopi Says:

    Angela!! I want a tutorial from you!!

  2. MeshWeaver Says:

    (sorry, 2nd post, but i forgot something)

    the eyes are SO awesome πŸ˜€

  3. yoff Says:


    Only the mouth down looks a little odd, but I guess it is needed for easily readable expressions…and you said that it should normally be used only at 60%…

  4. El'endia Starman Says:

    Angela, I just wanted to pop in to say that I hope you’re also keeping the neck in mind some of these expressions…especially for cornerOut.L; a tendon in the neck stands out when you pull the corner of your mouth back like that. It’s not very visible, but it’s there.

    With that aside…love the eyes and I can’t wait to see the final product! πŸ˜€

  5. D Says:

    @El’endia Starman: that would be the platysma muscle. While this muscle does play a part in widening the lower mouth, it isn’t usually noticeably activated except in exagerrated expressions or ones of extreme emotion. The same cornerOut action can be created purely by the risorius muscle in the face.

    Based on this, I would propose a seperate facial shape for the platysma muscle by itself for use in aforementioned extreme situations.

  6. D Says:

    As a rule of thumb, use them in Wallace and Gromit shaped mouths. :p

  7. Arco Says:

    Mmmmm… What a beautiful brown eye’s! ;-D

  8. Solineoz Says:

    Those expressions are awesome πŸ™‚
    Thanks for sharing these images and the intro to your workflow.
    It helps me a lot with my understanding of shape key and how to use them more effectively.

  9. nawabz Says:

    I think everyone in the blender team neads to make a tutorial depending on their roles.

    even Ton will need to make a tut as being a producer an all.

    we demand it!!!

  10. VicenteC Says:

    Good Work Angela:)
    I have a question. Recently, using 2.49b(not 2.5), I had serious problems mixing shape keys for emotions with lipsync(composed of more shape keys and animated bones). I’m assuming Sintel will have lipsync so, is the workflow of the facial animation ready for adding the lipsync? In my experience I had to convert back all the shape keys of emotions into facial rig poses (losing a lot of time and effort).

  11. RNS Says:

    Great work!but I missed buck was a wonderful project.

  12. jdcooke2010 Says:

    Wonderful Angela, absolutely wonderful.

    take care

  13. jay Says:

    Facial animation is just huge and vastly important to any project, it would be great to see some focused tutorials/tips/dirty tricks on the Durian DVD concerning this. Somebody grab a camera and shoot over Angela’s shoulder all day long πŸ™‚

  14. nawabz Says:

    that would be worth alot i presume. this in itself to me is a valuble resource. if i am to understand blender even more, id like to see more experience users work on it for a prefessional production project.

  15. Frank_robernson Says:

    Thats right people come from all works of life, we all poses different persona’s like a DURIAN it is hard spiky and a dark color but when you open it up-which a durian is a fruit …the inside is the complete opposite.

  16. jcl Says:

    I’ve got a question about the choice of shape keys — specifically the mouthTwist key. I saw this key in the sample Guardians file posted earlier and again in the picture here, and it strikes me as an unusual choice.

    I’m not a facial rigging expert or anything, but I’ve read Jason Osipa’s book, and the set of keys he proposes are roughly analogue to ones you’ve shown, except for mouthTwist. And furthermore it’s not a shape I’ve seen in reality, nor is it an expression I can make easily make with my own mouth.

    So, I was wondering if there was a animator or rigger there who could speak on how useful this key is, or describe situations in which it is used? (And, if it’s not used, then perhaps you could save yourself some time by not modeling the key on other characters, or replace it with a more vital shape.)

  17. ABC Says:

    this is kind of off topic but didn`t know where to put it

    someone had an idea of rendering durian stereoscopicaly

    would be cool πŸ™‚ no need for 3D glasses and if you`re used to it, your eyes don`t hurt or anything….you just watch it like any other stereoscopical animation

    and again, sorry for the off topic πŸ˜›

  18. angela Says:

    Thanks for all your encouraging comments! πŸ™‚

    @ Dalai Felinto: the pupils are all raw renders, no post-pro.

    @ Grem: difficult to say, as the set of standard shape keys will vary from production to production. Time/quality, character style, character importance, whether they have a speaking role, etc, are all factors considered. For example, while I worked on a feature animated film 2 years in production, characters with speaking roles were required as much as 100+ split shapes. One of the books I highly recommend for practical 3d animation application is β€œStop Staring: Facial Modeling and Animation Done Right” by Jason Osipa. He describes a simple setup to a more complex setup. Hope this helps!

    @ John Fraser: Mesh-deform is not being implemented for facial expression.

    @ awratten: Sintel, our main character received “the works” with 55 shapes. The Shaman, who is a secondary character but also has a speaking role, will receive just about the same attention. Secondary but non-speaking Dragon Baby’s facial expressions are now completed, receiving 22 shapes. The plan for background characters are simple facial rigs.

    @ Sunjay: animation process has been ongoing from the start of the project, along with development of animation tools in 2.5.

    @ Rudiger: The wireframe shown is the actual mesh I work on. Subsurf modifier applied, subdivision view set to 2, and optimal display turned on.

    @ Andreas(ndee): Nathan sets up the rig, bone controls, and drivers. I’ll look into the issue you describe.

    @ VicenteC: Animators will key the facial controls that drive the shapes, and not animate the shapes directly.

    @ jcl: mouthTwistL/R shapes are meant to be mixed with mouthL/R, allowing the animator to tilt/twist the mouth as they move the mouth to the side. Of course, to simplify one can always combine both actions in one shape. However, it was decided on this production to keep them separate. This separation had also been implemented and favored by animators on some of the other productions I’ve worked on.

  19. nawabz Says:

    thanks angela for all the replies.
    i dont think orange project was this detailed. thanks to Ton i assume for connecting project – community. good luck.

    i wonder how long left untill the completion of the project?

  20. ndee (Andreas) Says:

    hey thanks for your answer angela! And thanks also for forwarding my question to nathan!


  21. Luks Says:

    Love them, they look very natural πŸ™‚

  22. nawabz Says:

    wonder where minuits of friday night meeting went?

  23. nathan Says:

    The local space drivers not working is a bug. I believe it has been fixed in a recent commit, though. So if you wait for some new builds, it should work now.

    In our rigs I’m driving (almost) everything with “Single Property” variables rather than “Transform Channel” variables, so I never ran into the bug. With single property, you can give it the rna path for any piece of data, including transform properties. You could also do this to work around the bug if you need to. Although this won’t account for the effects of constraints on local transforms.

  24. Andreas(ndee) Says:

    thank you for the information nathan!!! I will try it! πŸ™‚

  25. bruno Says:

    hi, amazing work!, i wanna know if the pupil is controled by a automatic model. I sent a paper about it in a past comment. Anyways below a video showing realtime rendering using this photorealistic model.

    Paper info and source code:


  26. Anonymous Says:


  27. francois Says:

    would it be possible to see the blend file ?

  28. jcl Says:

    Angela: Very informative, thanks! I’m looking forward to seeing the keys in action. πŸ™‚

  29. John Fraser Says:

    Hey: Angela, totally unrelated, but I saw in the durian twitter stream that you solved a problem with textures seams by using NODES. How is this done, exactly?

  30. nawabz Says:

    take a look at some more of the rigginig control for Sintel.

  31. young_voter Says:

    Sintel looked mixed, between Chinese and German. Bruce Lee is also mixed: 75% Chinese and 25% German.

  32. DarkSol Says:

    NO! Sintel go see a doctor you eyes are yellow you have Jaundice!

  33. ben Says:

    @John Fraser – Basically I posted the svn commit because Angela and I were tag team solving some problems. There are multiple nodes that make up the skin material and I solved seam issues on each and every node. I just didn’t make that clear. I don’t often read those commits so I usually just type enough to refresh my memory.

    That being said, if you wanted to solve them with nodes it is possible using multiple uv sets, baking and so on but it’s more trouble than it’s worth. Painting in blender paints across multiple seams on multiple textures on the model itself so it’s getting simpler to remove seams in general.

  34. John Fraser Says:

    Ben: Oh, excellent. Thanks for replying.