Nov
14

Mesh Deform Modifier

Posted in Development by brecht

Chinchilla mdefIn some early deformation tests it became clear quickly that rigging our fat characters was going to be a challenge. For skinny models bones correspond well to the different parts of the body, but for fat models they do not, and there is a lot of overlapping influence. With a lot of corrective extra bones and shape keys we might have been able to get reasonable deformations, but part of this project is of course to tackle these problems head on, instead of having our artists waste time endlessly tweaking the deformations! So we decided that we needed a mesh deform modifier, as detailed in Pixar’s SIGGRAPH 2007 paper.

A known trick in rigging is to use lattices to e.g. get smoother arm deformations. But lattices are restricted to have vertices in a regular grid layout, which doesn’t fit an entire body shape, whereas with a mesh deform modifier a mesh with arbitrary shape can be used as a lattice. This way we can make the armature deform a low poly cage mesh, which in turn deforms the actual model. Using a lattice between the armature and the actual mesh smooths out the influences from multiple bones, and so gives better deformations in difficult areas. Of course the result of this is not always perfect, and we still need corrective shape keys (but fewer). Such shape keys can also be made on the cage mesh, which has much fewer polygons. In addition the vertices of the cage mesh could be used for e.g. facial deformation controls.

How this modifier integrates into the rigging system is still being worked out. For example hands and fingers are being deformed directly with the armature modifier, and blended with the mesh deform modifier using a vertex group. This however conflicts with the dynamic binding that was added to make shape keys on the mesh work, so we are working on a better way to blend modifier deformations.

A .blend file with the chinchilla using mdef can be downloaded. Note that this is not a complete rig, the deforming bones can be manipulated directly, but the high level controls for this model are not finished. Also this requires a very recent blender SVN version to work (preferably built after this blog post).

For further information read the mesh deform release logs.

Squirrel with b-bone deform

There have also been various improvements to make b-bones squash and stretch better, a pole target for inverse kinematics, and easier weight painting for the colorblind.

36 Responses

  1. malefico Writes:

    This is great stuff, I wish I had this tools when we did the rigs for Plumiferos :)

    Congratulations to all you guys !

  2. Paul Writes:

    This looks great!
    I’ll have to download the latest SVN release now, to really play with it..

  3. metalliandy Writes:

    Wow…Nice work peach team :)

    I am always amazed with the speed of the Dev’s and the constant progression in Blender.

    keep up the good work guys :)

  4. Bassam Writes:

    I’ve died and gone to heaven. Awesome work Brecht :)

  5. Gianmichele Writes:

    WOW, just WOW!

  6. toontje Writes:

    Last year as I read the paper, I wondered what that was good for. Awesome work Brecht, and also thanks to the Pixar devs for publishing this cutting edge technology. Now to test this stuff on the Stop Starring examples.

  7. Sergeant Oreo Writes:

    This looks very interesting.
    Thanks to the coders and Pixar! =D

  8. socceroos Writes:

    Very nice. Its good to see that you’re not skirting around problems by writing up hacks that leads to crappy software. Keep up the good work!

  9. nozzy Writes:

    Great work, a real boost to the rigger arsenal. Together with the Quaternion skinning it should be a treat to rig those fat boys.

  10. snizzy Writes:

    Teeheh, “easier weight painting for the colorblind” ;) Now, I don’t think the colorblind should be making 3D at all ;) but anyway, nice stuff here.

  11. meltdown Writes:

    Dank je wel, Brecht!

    let’s “checkout” the SVN now! :)

  12. horace Writes:

    “Now, I don’t think the colorblind should be making 3D at all ;)”

    why not? :) i am slightly color blind (but i didn’t have problems with the colored blender weight painting). i don’t think riggers or pure modelers necessarily have to see colors. …and black&white animations can be nice too. :)

  13. ros Writes:

    Wow! I like it!!!and a big THANKS to all in Peach!

  14. BenDansie Writes:

    Sounds great! At an internet cafe right now, so will obviously try it out when I can. I’ll understand it more when I give it a go, but where does this sit with the infamous crazy space (cs) issue? Will it almost eliminate dealing with cs? Are you still planning to write the inverse catmull-clark code to help with shape key editing? Like I said, I’ll try this new modifier when I get the chance, (on high poly displacement meshes too, let you know of any issues) but I’m keenly interested in the cs problem to the point where I’ll consider donating money to an external coder if there is enough interest. Rock on Peach! Still wishing I was there…

  15. Nathan Writes:

    Snizzy said: “Now, I don’t think the colorblind should be making 3D at all ;)”

    Huh… so I shouldn’t be making 3D at all, Snizzy? Interesting…

  16. Blaize Writes:

    Snizzy’s comment confused me a bit, he did put a wink at the end but still, the comment was just wrong.

    The mesh deform modifier is really great, It looks like every week someone decides to add another feature, things are pretty much popping out of nowhere :D
    ill be nr. 10.000 to say this.. but Blender 2.50 will be amazing.. a release that will be remembered for a loooong time.

  17. backman Writes:

    this is awesome guys your are life savers.
    that thing with 3d skining, it would by nice when you can also change the skin
    with a vertices’s number list, mainly used in maya xsi. then you have a bit more control.
    ps. only the mesh deformer is a great benefit from this project

  18. Satish 'iluvblender' Goda Writes:

    Woah!!!

    Total respect to Brecht and a thank you to Pixar for making the research available to public eyes.

  19. Thorsten Schlüter (thoro) Writes:

    The Mesh Deform Modifier looks really good, as does the Pole Target.
    By the way, I love the way new features are documented in the change log at blender.org.
    Great work!

  20. rogper Writes:

    I’m ok with doing 100´s sape keys corrections, I kind of like it ^_^ it allows precise point control.
    I’ve read the pixar withepapers refering to armonic deformations when they were mentioned early on and… well I don´t know :|, it might be actualy easier or faster make the shape keys…
    But still, I´ll give armonic´s def. a try ^_~

  21. superkoop Writes:

    “Huh… so I shouldn’t be making 3D at all, Snizzy? Interesting…”
    Cessen is color deficient like me! That’s sick, love it when a pro is cool like that.

    And great job Brecht! Thank you for the job well done! ^_^

  22. Nathan Writes:

    rogper: you’ll be happy to know that there is a new little feature to make corrective shape keys more precise now, too. In ipo drivers you can now compare the rotation between two bones, and have that drive shape keys. It takes into account all rotations, including twist. I’ve been using it quite extensively in our rigs for our corrective shape keys. Of course, it’s not a silver bullet. There are still times when you want to use stretch to’s or a simple rotation axis.

    superkoop: yeah, right on! Color blind for teh win! We’ll take over the world! Bwa ha ha! :-P

  23. rexprime Writes:

    impressive. this is the coolest thing since driven shape keys

  24. igor Writes:

    Ok, so we now have this great modifier.

    Since it already does proximity tests and weighting, would it be possible to branch it out to another modifier that does attribute transfer ala Houdini or GATOR from Softimage?

    I’m too lazy to find out how to use commiters lists

  25. horace Writes:

    where can i get a svn build?

    …i think campbell worked on removing the face select mode? is this already commited? face select mode is one of the things i always really disliked about blender.

  26. Chris Writes:

    This is amazing! I use XSI, and I’ve been hoping this technology would come there soon, but now that blender has it, wow! As cool as it is technically, it really frees up the animator.

    I think the only thing that would put this to shame, is an animation system that worked like ZBrush’s transpose. Now that would be flexible.

    Thanks you guys, I too am looking forward to the Intel Mac build.

    Kudos!

  27. Dion Moult Writes:

    I NEED SVN BUILD.

  28. HelloKitty Writes:

    I have a Chinchilla.
    Respectfully I say, Your Chinchilla model is ugly. Please redo the head, face, as it is unappealing.

    Also, Chinchillas are not fat. They are “fur fat”. there is a subtle difference.

  29. Sago Writes:

    Hello HelloKitty,
    First, we from the Peach team are worried you’re underfeeding your chinchilla. For the Chinchilla brevicaudata it’s not that uncommon to have a little fat.
    http://www.distrivictoria.com.ar/images/otras_mascotas/chinchilla.jpg
    Second, it’s true he doesn’t look like a young Haley Joel Osment, but we like to give everybody a chance… even the ugly ones.
    Third, it’s better…. no, wait… uhm… something with cheese and soap…. but I forgot…. damn….

  30. Mike Belanger Writes:

    That is a wicked tool. Thanks Brecht for your time.
    I’m never going to fear fat/stumpy characters again!

  31. Aleksander Writes:

    sorry for this stuped question, but
    how do I make the cage transparent??!!

  32. Bataraza Writes:

    Awesome… I´ve been waiting for this since Plumifero´s project started….

  33. iiid Writes:

    Am I missing something or is there a build for os 10.4 ppc somewhere? I’d really love to learn these new features. Great job you guys! Thanks for all the features and hard work!

  34. iiid Writes:

    Oh and unlike some others I dig the chinchilla. Be Blessed!

  35. Braga Writes:

    Fine job