The amazing incredible monkey brush

  / by Matt

monkey brush!Move over Z Brush, take a hike topology brush, because Blender now has a new high-end tool that’s sure to impress. Presenting: The monkey brush! With just a few strokes of the mouse, your meshes can now be transformed into primate-y goodness! (MPEG4 video)

Just joking.

What you’re seeing is actually a really neat new feature that’s been added in Blender in the recent Shape Keys rewrite. Shapes, previously known as RVKs and in other apps as ‘Blend Shapes’ or ‘Morph Targets’ have recently had an overhaul to become a lot clearer, easier and faster. Adding new shapes to a mesh is as simple as clicking ‘Add Shape Key’, moving your model into its new shape, then adjusting that shape’s influence with a slider, which automatically inserts keyframes for you.

Now the interesting part is that we now have a new feature (not mentioned in that doc) – using vertex groups to control the weighting of each shape on the final result. Not only can we control the amount of influence that the shape has in general, but we can now also control where that influence is applied. This is great for a number of reasons. It means we can now model an entire face completely in its expression, and then split up the sub-components (eyes, mouth, nose, whatever) after the fact, using weights. Previously this was the other way around, having to model each little part on its own. This made it a lot harder to get a really nice, expressive look because you couldn’t see what the final result of all the blending would be. And of course it’s possible to ‘bake’ those weighted shapes into a new shape of its own, just by pressing the ‘Add Shape Key’ button while in the blended state.

lame example pic

Now of course this will be a boon for animation, but I’ve also had a few silly ideas on how this can be abused for other purposes :)

Pseudo mesh construction history states:

While modelling, you can keep saving shapes along the way while adjusting proportions and looks (as long as you don’t change the mesh topology). Then it’s easy to flip through the different versions that you’ve made to decide what you like best, and even blend bits by painting – “oh, I like the ears from two versions ago, but last version’s nose is much better” … paint, paint paint, and done.

De-symmetrisation tool:

If you’ve been modelling in mirror mode and want to get rid of the ugly symmetry, you can make a new shape, select random vertices and scale along normals (Alt S) to randomise your mesh. Then if you go back to the basis and paint on the randomised shape in small amounts, you can nudge a bit of asymmetry into your model, where and when you want it, and all non-destructively.

Hackish displacement painting tool:

By making a new shape and scaling it out along normals to inflate it, you can then go back to the basis and paint on the fattened mesh, which will push the vertices out. You can then even invent various different ‘brushes’ which you can paint on, for example a spiky version of your shape to make a rougher looking brush, a moved version of your shape for a ‘smudging’ brush.

I’m sure you can think of all sorts of interesting things yourself, too. Let us all know in this thread! But if you’d like to give the monkey brush a try, open up this .blend file in a recent bf-blender CVS build, set the weight slider to 0, start painting, and off you go.

« | »

39 Responses to “The amazing incredible monkey brush”

  1. Richard said on 7 Oct, 2005:

    Damn. Almost twice a week you guys add another wicked feature. It seems that Blender may be on par with Maya soon.

  2. Game Mogul said on 7 Oct, 2005:


    I’ve recently been telling everyone that this project is so healther for the Blender Foundation because they, themselves, are running into the most annoying problem areas in Blender and putting those fixes at the top of the list. The Blender Project has accomplised more in upgrading in four weeks than it has in four months prior to Orange.

    This is soooo cool!

  3. Matt said on 7 Oct, 2005:

    It’s kinda funny, I’ve been using Blender for maybe 7 years- I studied 3D with Maya, and have been thinking of buying XSI to work on a few personal projects once I graduate. But after seeing all this animation work I might just save my money and work on Blender. It seems to make a lot of sense!

    Dealing with Blend shapes can be quite troublesome, when shapes cancel each other out and what not. I hope a lot of these issues can be resolved.

    Plus is it possible to mirror a shape so that you only have to change half the face?

    Awesome job, can’t wait to see some more work.

  4. taniwha said on 7 Oct, 2005:

    LOL, that test clip is funny! Made my day. Cool feature. Hmm, could create a few different face models, then “breed” them to get offspring that resemble their parents (yeah, I know genetics doesn’t work that way:). Warewolf type transformation scenes, too.

  5. Johnny Matthews said on 7 Oct, 2005:

    The ability to bake a bunch of blended shapes into a new shape is great. This works well with the control file from the previous post. If you dial up an expression using the widgets, click the add new shape button and you saved the expression! pretty sweet.

  6. AkhIL said on 7 Oct, 2005:

    Are you planing to add tablet’s pressure support?

  7. Durden said on 7 Oct, 2005:

    That’s really awsome .))) You guys and the ones who write the code are rocking!!! Blender is truely imazing tool .))) Keep on rollin’

  8. Juan Javier Martínez said on 7 Oct, 2005:

    [quote from Richard]
    Damn. Almost twice a week you guys add another wicked feature. It seems that Blender may be on par with Maya soon.

    —LOL, fantastic!! Blender seems to be a very great tool for modelling, will not have anything to envy from commercial tools like Maya or 3DS….

    Certainly the people working in the ideas and the code are driving….Cheers, don’t give up!!!


  9. The Masonmop (not my real name) said on 7 Oct, 2005:

    Wow, project orange is really pushing blender to the limits. Keep pushing!

  10. Wim said on 7 Oct, 2005:

    Wooow, cool stuff to see here! I haven’t been doing any animation yet except some small tests with version 2.37a.

    I hope some real good tutorials will there to explain all those nice features.

    Big thanks to you guys for the great effort! It rocks!

  11. Human Koala said on 7 Oct, 2005:

    yeahhhh good work !!!

    Who will write the definitive book on blender ? it grows and evolves too fast. but it’s needed i think. there’s money to earn with it ;o)


  12. Modron said on 7 Oct, 2005:

    This sure looks cool. I can’t get it to work on the latest testing build, so i assume we are talking in the last couple of days. So hard to keep up with all this development!

  13. Richard Olsson said on 7 Oct, 2005:

    This looks so great. But I must say, I could wish for some more project orange movie updates. Anything, like news about who in the team had a fight with whom, if that’s what it takes to see more updates. I keep looking almost every day :)

  14. JoOngle said on 7 Oct, 2005:

    Works like a charm!
    Thanks for the test blend.

  15. maccam912 said on 7 Oct, 2005:

    This new feature is great! I love it! I agree that I’d rather see something new every day, even if it is like “Ton ate a burger today and said it was good!” It might be a waste of time to write that here, but I’m sure there are more exciting things going on there then things like that. Keep up the good work!

  16. harkyman said on 7 Oct, 2005:

    I’ve been putting off making the facial expressions for the characters in my animation due to the very annoying and difficult old method of constructing RVKs (piece-by-piece). The ability to create a whole new facial expression, then parcel it out is soooo necessary and will make my job soooo much easier. It’ll also make the final product better, too.

    I love Orange.

  17. quickflash said on 7 Oct, 2005:

    Great work –

    I’m a little worried about the overuse of weights though. At this point armatures, softbodies, RVK’s and particles (once the patch is applied) can all use weights, however it seems that these things might overlap, and it can get tricky trying to apply a weight to one deformer and not another. Is there anyway to add checkboxes that can be turned on and off to apply only to the deformer you like?

  18. Bassam said on 7 Oct, 2005:

    @ quickflash: I guess that could be interesting if you used the same vertex group for more than one reason… as in a bone vgroup used as a shape group and softbody for instance.. but I don’t think that’ll be the most common usage.
    If you use different vgroups for different reasons, you’ll find there’s no collision; shape groups don’t affect armature deformations, etc. and the groups become just another useful tool that can be used in different ways.

  19. Matt said on 7 Oct, 2005:

    Hi guys:

    Yes we realise we’ve mainly been blogging about techy things so far, for one because there’s been so much exciting new stuff that we want to show you all, but also because we’re still walking a line about how much to reveal until the blender conference. We’ll be releasing the teaser, concept, character designs, etc then so I think after that we’ll be able to be a lot more open about everything than we are now.

    In any case, stay tuned for some more behind-the-scenes action coming soon! ;)

  20. quickflash said on 7 Oct, 2005:

    @ Bassam: OK, it was more collision that I was worried about, so no collision, no problems. Thanks for all the great work you guys are doing. :)

  21. Vidar Madsen said on 7 Oct, 2005:

    Ah, so that’s what that new “VGroup” entry is for! :)

    This is a really really great addition to Blender. Not that it wasn’t great before, but RVKs were a bit tedious to work with, especially when doing facial animation and lip-sync. But the new shape system, and especially this “shape weight group” stuff makes me tingle all over. (Well, almost. ;)

    Great work!

  22. Omar said on 7 Oct, 2005:

    Wow, i was looking for this stuff – personal research – but in plaiying with materials and stencil (it was my unsuccesful approach)

    This explosion of code give just the proof than blender is an excellent “framework”!
    Obviously Ton is a breathtaking code designer!)

    well, i want to cry of happiness *lol*

  23. BeBraw said on 7 Oct, 2005:

    This is great! Blender is certainly speeding up. *thumbs up*

    Plus is it possible to mirror a shape so that you only have to change half the face? Make linked copy of the half and mirror and then place it next to original mesh. There you go. :)

  24. D_structorr said on 7 Oct, 2005:

    This is really amazing. I’m almost hoping the movie takes longer to make, cause of the new features that are thought up.

  25. Blazer003 said on 7 Oct, 2005:

    All this great animation stuff while you need animation updates, does that mean updates to every other area of Blender (like texturing) as you need updates in those. The possibilities are endless!

  26. Blazer003 said on 9 Oct, 2005:

    Has anyone else gotten this to work? Can you give a quick process, because I’ve messed with it for about an hour and haven’t been able to get it to morph like you showed in your video. (I have the latest bf Blender build)

  27. Blazer003 said on 9 Oct, 2005:

    Nevermind :-| I didn’t have the normals button depressed on the paint options… silly me.

  28. tripdragon said on 9 Oct, 2005:

    Sweeeetnessss. it just needs a pick and choose gui now..

    Oh only if you could now put the material shader editor on the top of your list :P

  29. Xtra said on 9 Oct, 2005:

    Really nice! But, apart from gimmicks like this, I’d like to see some better modeling tools. I come from Realsoft3D (but I made my first steps with Blender a view years ago), wich is, for some reasons, not the right tool for me. But its modeler is great, especially compared to Blenders. Blender made some progress in this case as well, but there’s still a lot to do. One example: I tried to bevel an edge and what happend? The whole object had been beveled. This ‘feature’ is as strange as useless. Anyway, great work!

  30. TroutMaskReplica said on 10 Oct, 2005:

    I can’t get this to work either. What is the workflow?

  31. Milkdrop said on 10 Oct, 2005:

    This looks pretty cool. It should be a great help when modelling organic objects. Hopefully we shall see these features in future releases. Great work on this stuff guys. I cannot wait to see what happens with this movie project.

    Hey xtra. Remember me. I was a Realsofter, still am.
    I actually find blenders modelling better than realsofts now. If you learn all the keyboard shortcuts the modelling process is super fast. Just as fast as realsofts. The only down fall with blender is that realsofts vsl kicks blender material systems ass.

  32. Bassam said on 10 Oct, 2005:

    TroutMaskReplica: in the shape panel, you should see a place to enter a VGroup name.. just add a vgroup as you would normally, then type the name for it in the shape panel; you should see the shape ‘dissappear’, now go into weight paint and start painting the shape back.

  33. Xtra said on 10 Oct, 2005:

    Milkdrop, could it be that I know you from Boris’ forum or from the RS3D mailing list? However, Blenders development is amazing, isn’t it?

  34. Modron said on 10 Oct, 2005:

    ok i got it working on the latest build. i can see doing some really intense facial animations with this. i have a suggestion though….why not change the RGB values for weight painting to grayscale values? it seems like it would be easier to digest visually. also, if we had something like the UV/vertex color export but for weight maps, we could turn the exported image into a normals map with a bit of painting in a paint program.

  35. Modron said on 11 Oct, 2005:

    I have another suggestion. In the old vertex key system it was possible to apply a vertex key to a mesh permanently by deleting all other keys with the desired one being the last one. Maybe we could have an ‘apply shape’ button?

  36. mthoenes said on 12 Oct, 2005:

    Great work…
    First of all thanks for calling this “Shape Keys” and not something obscure.

    Secondly, regarding the topology of the mesh. It is possible to alter the topology of the mesh even after shape keys (relative vertex keys) are added. You can subdivide the mesh, delete verts, extrude new sections, etc. and it seems remain stable. I have used this to model new elements into heads which already have rvks set. I also have used a half face to model mirrored expressions – then joined the right smile with the left base section for instance. With the RVK1 to RVK2 script this works – You can model a whole variety of heads and apply them to the base. I just don’t delete the doubled verts at the seam from the final head till I am done. Here is the file

    link: – copy – paste into your browser

    Bottom line : Blender is a great deal more flexible than it once was about changes to a mesh which has rvks – shape keys. Wheter intentional o rnot, it is agood thing. The better we can document what is possible – the fewer headaches we will all have with shapes.

  37. mthoenes said on 12 Oct, 2005:


    The Script – Mesh>”Fix From Everything” – works nicely for permanently applying the current mix of shape keys to a mesh.

  38. Miko said on 22 Oct, 2005:

    seems a bit like 3dmax piling up modifiers to me. to a certain extend anyway. I’m glad it’s making it’s way into blender. But it would be really cool if we had basic target weld and cut tools too. Been waiting for that for a long time

  39. Kiernan said on 8 Nov, 2005:

    Well what you are saying is you used the RVK’s for individual vertices, and allow people to paint the displacement of an RVK IPO over time, so that you can paint on a nose from a previous RVK or anything between.. Creative.. What I want to see is a tool that will take an existing shape somewhere, obtain surface normal of the shape and use that to apply manipulation to mesh vertices, so as to apply shapes of different topology, even if the end result isn’t exactly like the previous.

    Another one I had wished for is a way to replace polygons on one mesh with polygons from another, using the orientation of the polygons to determine the orientation of the replacement, then just smooth-fill the difference of their borders.. OR each easier require the borders to have the same vertex count, merge the vertices take a placement that is the average of the two borders.. This way you could add premade ears, eyes, noses, mouths from one object to another without having to waste a lot of time orienting one to the other.. Out of that you could derive tools that allow ears, eyes, mouths, noses to be modelled and animated apart from the head that they are associated with..