Blender

Durian DVD

Follow our progress!

  • on Twitter
  • on Identi.ca
  • Follow our commits on Twitter!

    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. OriginalBBB Says:

      WOOOOPIE I’m the first! Keep up blending Angela.

    2. Dalai Felinto Says:

      Angela, this is an amazing job ! I’m really impressed.
      Now I understand why you were so hardly working in the edgeloops of the face topology. It really paid off πŸ™‚

      It’s also nice to see you guys/gal manage to get wet eyes in render (or is this gimp/post-pro?).

      The “sad” face looks so pity … nice to see our warrior can develop warm feelings.
      Congratulations !!!

    3. malefico Says:

      Nice work. One thing I do is to create a simetrical shape using X-Axis mirror edit and then use a vertex group to create single side shapes.

      Keep it up !

    4. Christiaan (AniCator) Says:

      Great job. Sintel looks wonderful with these shapes.

    5. Victor Says:

      mmm… morphing is the future of facial animation. The main problem is that you cannot reuse facial animation libraries so easily than bone animation. Impressive work, very thorough.

    6. jay Says:

      Looks like Sintel is going to be a lively character! It will be interesting to learn how these will be incorporated into the rig.

    7. Paulo Bardes Says:

      Angela, your job is absolutely awesome congratulations!

      P.S.: It’s really weird to see a bald woman…

    8. Anonymous Says:

      Post a blend of the model + rig once you’ve got it hooked up so we can play with it and do dialogue tests!

    9. TheANIMAL (marcus nicholls) Says:

      Those pupil renders look fantastic.

    10. Shiretoko Says:

      Great Job indeed.
      Keep it up.

    11. Gregus Mihai Says:

      i love you… it, i love it.. that’s what i ment.

      good job (as in awesome job).

    12. DwarvenFury Says:

      Wow! Looks excellent, so far. And the WIP render is awesome to see, too. (I’ve been dying to see a test render of Sintel.)

    13. alalo Says:

      Love those renders, especially how lashes turned out soft. πŸ™‚ The browSup.L shape looks like a whole facial expression itself ^^

    14. abhifx Says:

      those eyes… ooo….

    15. Dan Says:

      Impressive!

      I think most 3D characters being made suffer from rigid and limited face movement. A lot of the time it seems as the goal is only to make the viewer understand if it’s a happy, sad or surprised face.

      This is one of a few cases I have seen where the expressions actually look real. The 4 combined poses are fantastic.

    16. Grem Says:

      You’re doing a very nice job. I liked the tip about opening the jaw to check if the skin crosses the teeth. Thanks for sharing your workflow.

      Is there any set of “standard” shape keys that a character should have?

      Keep it up!

    17. John Fraser Says:

      Hey guise, are you thinking of using any mesh-deform stuff at all to push the expressions? There were a couple excellent examples in the original pixar paper.

    18. awratten Says:

      “Angela for president”, Looks great.

      Will you have to do this for all the characters or just Sintel & the Shaman?

    19. D Says:

      Yay, Angela’s back! πŸ˜€ And the awesomeness exudes! XD
      55 shapes are like more than the number of FACS action units, aren’t they?! Whatever, I love your work and the results so far! And Sintel has lovely dark pigmentation around her eyes. ^^ *swoon*

    20. tyrant monkey Says:

      the eyes wow, that’s about all I can manage to get out. this looks really good

    21. anon Says:

      thanks for sharing the workflow

    22. Sunjay Says:

      Hey guys! I don’t normally comment on these things, I am more of a game engine guy my self so I don’t really know this…but when does the animation process start?

      Happy blending! πŸ™‚
      Sunjay03

    23. Eibriel Says:

      Amazingg!!! πŸ™‚

    24. Max Puliero Says:

      Awesome stuff Angela!

      I think the shader is very very good and also the facial shapes!

    25. Rudiger Says:

      I love your posts, Angela. Always so inspirational! I can only imagine how amazing your tutorials on the DVD will be!

      By the way, is the wireframe that is shown in the renders the actual mesh you work with or does it have extra layers of subdivision applied to it?

      @Victor: I agree that the major drawback of using morphs for facial animation is reuse, but remember the tool that Campbell wrote to transfer BlendShapes from one mesh to another of identical topology? He said that he wanted to extend it to work for meshes with different topology, but that did not have priority for Durian. That may have changed now that BlendShapes are such an integral part of the facial animation for this project.

      This is how I imagine it could work, if incorporated into Campbell’s existing script:
      1. Shrink-wrap Sintel’s head to fit onto the Shaman’s head. Ideally, you would want this process to be interactive so you could proportionally push the Sintel head points around on the surface of the Shaman head.
      2. Since each point on the Shaman head now lies on a face of the Sintel head, it you could represent each Shaman head point as a distance-weighted sum of the corresponding Sintel face points. You would then be able to use these weights to apply BlendShape offsets from the Sintel head to the Shaman head. You may want to have an extra parameter to exaggerate or de-exaggerate each BlendMorph as you transfer it.

      That’s pretty much it. You would of course keep tweaking the shrink-wrap process until you got a decent result for one of the BlendShapes, then Bingo! You have a way of instantly creating 55 BlendShapes for the Shaman head, ready to be tweaked!

    26. Rev Stump Says:

      Seriously, beautiful work. Your Animators are gonna have fun! Your work heightens the entire project.

      Pixar or Dreamworks are def in your future.

      =]

    27. Andreas(ndee) Says:

      Top-Notch Angela!!!!! Your work is just awsome! I can really learn alot just of your images you post here on the Durian Blog!
      I am working at the moment on a lowpoly Model Facerig, and already “cloned” some of your shapes! I really love it!

      One question. Do you have problems with the bone controls for the deform values? I’ve added driver for my shapekeys and mapped them to my bones. When I say now local for the bonespace and move the Head(facial controls are parented to the headbone) of the girl, the shapes are driven too. In 2.49 I dind’t have that problem.

    28. Clint Says:

      Doing great Angela! I’m pretty impressed with the mesh and especially the pupil renders; those literally suck you in the Sintel character!

    29. jsguillemette Says:

      Victor: Actually, you could always re-use animation. I’m not the animation expert neither the rigging one, but all the shapes are driven by a face rig. So there are little controllers on the side of the mouth which let the animator ‘drive’ the smile shape like if he was animating a smile with bones.

      If we extrapolate this, all the characters will have a very similar face rig, and if they all have the same shapes as expression, the animator could always copy the animation from the face of the shaman, to let say, the face of Sintel. And the controller moving to create a smile, will still do a smile on Sintel πŸ˜‰

      This is probably not what we’ll do, since all the shots have different expression. But I do think it would be possible and easy to do! πŸ™‚

      But yeah, you indeed have to create facial shape for each characters, because hey, they have different personality and won’t smile the same way πŸ™‚

    30. Shinobi Says:

      Angela, your work is impressive, I’m almost speechless….

      The shapes bring a whole load of sensation, they’re awesome.

      But the absolutely extraordinary thing is that you felt the need to specify those are not final textures… I think eyes render itself is something simply exceding yet the best static renders you can see over cgtalk…

      I really can’t imagine how you could push them further πŸ˜‰

    31. Steven Says:

      Oula, sintel is angry.

    32. Jacob Valenta Says:

      keep it up angela πŸ™‚

    33. Igor Says:

      Indeed, fantastic work Super Angela!!

    34. Samuel Junior Says:

      I don’t like bald women. lol πŸ˜›

    35. Lamhaidh Says:

      Can we get a render with the default expression and the raised eyebrow. As someone who’s been on the receiving end of that look too many times to count its a personal favourite. Love the work Angela and Team!

    36. acro Says:

      Wow! Very, very impressive, and your tips are great! Whenever I’ve tried facial shape keys I somehow always manage to tab out of edit mode at the wrong time and lose all my work, but this definitely gives me the impetus to get right back into it and learn it properly. Really inspirational stuff, thank you for sharing!

    37. beat25 Says:

      This looks nice πŸ™‚
      But if I may…
      I think the movements are too local. (maybe they have to be local, for bether combination?) For example: By the nasalSneer, the mouth should also being “pulled” up etc…

      Anyway, great work!

    38. Wolfgang Says:

      Great work!!

      You model very nice the expressions on her, it follows well the topology as well.

      IMPORTANT Question.

      -Are you guys have also on the facial rigging workflow a way to make corrective shapes for the shapes..?..

      which means that let say that you have an smile shape and an “o” shape. They work great individually, but then when you activate both at the same time they look wrong, here is where a “corrective shape for shapes” TOOL will be useful, because you can sculpt/model the correct shape when two or more shapes are active at any given time. ESSENTIAL FOR ANY HIGH END FEATURE QUALITY FACIAL RIG.
      Character like gollum for example use this technique.

      Thanks

    39. Cora W Says:

      Hey mom,

      I agree with everyone, amazing work! I can’t wait to see more. Love you!

    40. The last rookie Says:

      This shapes are amazing!
      Keep up your great work.

    41. Linkeltje Says:

      Looking good! I love the moving pupils and the showing teeth.
      And so many shapes, when it’s their turn, the animators can go wild!

    42. Luis Felipe Says:

      Excellent work Angela! All of shots looks good and perfect. WIll be nice to see these expression in the final short. Personally I think the middle image showing dilated pupils is a bit too exaggerate even if it made like this to be seen from far away. But is my only crit. Other than that I think it is a flawless design and excellent work!

      Congratulations! πŸ˜€

    43. Corniger Says:

      Darn… I wish I knew shape keys in 2.49 FINALLY! So I’ll just figure them out in 2.5 if this works better πŸ™‚
      Anyway: looks great, feels great, and your reel, Angela, gives us all the perception that Sintel is going to be incredibly good!

    44. MeshWeaver Says:

      wow, that is awesome, Angela!

      so, Shape Keys are great in 2.5… cool, i’ll learn them in Alpha1 instead of 2.49b πŸ˜€

      GO SINTEL TEAM!!! πŸ˜€

    45. SlightlyChaotic Says:

      NICE. I can’t figure the stupid thing out in 2.49, so I hope it’s easier in 2.5.

    46. Anonymous Says:

      @beat25: That’s the animator’s job.

    47. Sam Says:

      She’s gorgeous!

    48. Ovidiu Says:

      guys, you know that when pupil close the eyelids also close a bit πŸ˜€

      Awesome work so far, it seems that you have a lot of progress behind our backs πŸ˜€

    49. Ovidiu Says:

      sorry for having to post again… can you do something like this next time πŸ™‚

      http://data68.sevenload.com/slcom/wg/xg/losjjkc/wjrjngltpmjd.jpg~/Shrek-Cat.jpg

      …just kidding

    50. s0ndeb0k Says:

      When I saw those eyes I almost fell over in my chair of excitement. Super-duper-awesome job Angela!!!

    51. kopi Says:

      Angela!! I want a tutorial from you!!

    52. MeshWeaver Says:

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

      the eyes are SO awesome πŸ˜€

    53. yoff Says:

      Nice!

      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%…

    54. 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! πŸ˜€

    55. 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.

    56. D Says:

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

    57. Arco Says:

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

    58. 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.

    59. 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!!!

    60. 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).

    61. RNS Says:

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

    62. jdcooke2010 Says:

      Wonderful Angela, absolutely wonderful.

      take care

    63. 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 πŸ™‚

    64. 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.

    65. 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.

    66. 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.)

    67. 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 πŸ˜›

    68. 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.

    69. 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?

    70. ndee (Andreas) Says:

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

      Greetings

    71. Luks Says:

      Love them, they look very natural πŸ™‚

    72. nawabz Says:

      wonder where minuits of friday night meeting went?

    73. nathan Says:

      @Andreas(ndee):
      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.

    74. Andreas(ndee) Says:

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

    75. 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.

      http://www.vimeo.com/3545229

      Paper info and source code:

      http://vitorpamplona.com/wiki/Photorealistic%20Models%20for%20Pupil%20Light%20Reflex%20and%20Iridal%20Pattern%20Deformation

      thanks

    76. Anonymous Says:

      WHERE’S THE BLEND.

    77. francois Says:

      would it be possible to see the blend file ?

    78. jcl Says:

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

    79. 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?

    80. nawabz Says:

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

      http://www.youtube.com/user/BlenderFoundation#p/u/0/V63VDd8DFCQ
      http://www.youtube.com/user/BlenderFoundation#p/u/1/o3LFZJjfRI8

    81. young_voter Says:

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

    82. DarkSol Says:

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

    83. 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.

    84. John Fraser Says:

      Ben: Oh, excellent. Thanks for replying.