/ by Bassam
Perhaps you remember this post in which we introduced blender’s new drivers with the mancandy character. Well, subsequent changes in blender broke the old file; The jaw, eyeballs and other facial controls stopped working once keyed. I was unaware of this until I read this thread on blenderartists, after which I came to two conclusions:
1- Nobody knows the character’s name ;) ! ( His name is Mancandy, an homage to the movie Manchurian Candidate and his candylike outfit)
2- I had to fix the rig to work with the recent improvements in blender, and not just his broken face. Many of the armature’s internals were workarounds for old blender limitations. The intent of the model is for people to learn animation and rigging- which can be confusing if there are 4 bones where only one is needed. So I did a little update of the character. I fixed a few things, simplified some others, and took advantage of the new features.
Though the character is not realistic, the rig isn’t a toon rig; it lacks controls for e.g. squash and stretch ( which I may add at a later date, or can be left as an excersise for the user ). For a more toony setup, visit Sketchy’s excellent Ludwig rig, which is extremely light and has some rather fun squash N stretch-ability.
So without further ado, here is the next update on mancandy, featuring simplified controls , an on face animation control setup, and most importantly, working facial controls.
If you are using a current cvs of blender, or a recent testing build, download the blend file here and read on for a quick rundown of controls / features and what they do- all the features (bone shapes, armature layers will work)
If you are using the latest release, all the functionality is there, but bone shapes and armature layers aren’t. You can download your blend file here and read on, but note that the control bones will show up like plain old bones, and that there are no layers in the armature; all the controls are visible all the time.
(sorry to those who downloaded the cvs version of mancandy yesterday and saw all the bones at once)
Layer one contains the Mancandy mesh itself. Layer three contains the armature that has all animatable controls in it, and layer 20 has all the “non renderables” - meshes starting with the prefix MCBOT that define the custom shapes for mancandy’s controls. With one exception, they are not intended for editing, and are hidden within mancandy’s head in case the layer is unintentionally left on during a render.
All of the bones in the armature are locked to translate only in useful ways; for instance, if a bone should be rotated and not translated or scaled, only the rotation transforms are allowed. You can easily discover what each bone can do by turning on the manipulators and enabling all three transforms, then clicking on the bones and seeing which ones show up ( locked transforms or axis don’t show up in the manipulator)
The controls are also organized via layers- in this case, armature layers, which you can turn on or off via the armature edit buttons, in the Armature tab. Here’s a quick rundown of what you get:
Layer one: General controls: Includes IK controls for the legs, and FK controls for the arms, torso and head controls. The controls marked with an asterix ( *) in the image work like hinges in blender; rotating the parent affects their location but not the rotation. This is useful when posing the torso mainly, since you can rotate the head, or torso in any order without having to adjust them constantly. The main torso controller which looks like two blue triangles pointing at Mancandy’s waist give a quick way to rotate/translate the entire upper body in one “chunk”. The chest is setup as a targetless IK bone, and can be moved around as well as rotated. If you have auto key on, set to available, and you have already keyed the backbones’ rotation, this can be a very fast way of posing the upper body; just grab the chest, rotate it, and you’re done!. Feet are IK targets pivoting at the heel, with the addition of two foot controls pivoting at the ball of the foot (these last two rotate around the X axis)
All controls here are locked to the “legal” transformations, so turning on the manipulators, normal mode, for rotation,location, and scale can give you a good indication of what they can do.
Armature Layer Two: this layer has only two bones; the left and right (optional ) IK targets for the hands. Arm IK can be enabled by turning on the IK and copyrot constraint on the hand bones (located in layer One) A future enhancement might be having easy IK FK switching via a python script, that does the requisite keying for “no jumping” on an IK/FK switch… this is somewhat possible right now, albeit manually via keying location and rotation and constraint influence.
Armature Layer Three: This layer has eight bones, four for each hand. They control the thumbs and fingers of the character. rotating rotates the digits, while scaling the bones cause the fingers to curl in and curl out. The fingers are allowed to rotate on all but the Y axis, and scale on all axis (which results in curling the finger, not scaling it.) for instance, to make a fist: select all the digits, including the thumb and scale them till they are nicely cureled, select the thumb and rotate it on its local X axis, select the rest of the digits and rotate then on their local Z axis.. done. The benefit of this setup is that it gives very few but powerful controllers, It has almost complete flexibility and allows for very few or no “weird” positions, and it is hard to get lost as can happen if you have a bunch of little floating IK targets everywhere.
Armature Layer Nine (sorry was off by one! -fixed): This layer has all the facial controls. These are similar in function to the controls in the old controller2.blend file, but have been moved into the armature ( to take advantage of the action /NLA system) and onto the face ( for a quick and easy feel for animation). The default layout might seem a bit funny; there are 12 controllers, and, with the exception of some of the eye controls, they all lie in one line down the face. I’ll go into detail on how they work with the mouth Emotion controller- it is the most complex one. If you played with controller2.blend from the last posting, you’ll find that their function is the same as before even though the appearance has changed.
- BOTmemo controls mouth emotion.. The controller works in a “cross” fashion: Moving it up causes smiling, down causes frowning, and moving it to the left or right at the same time makes the effect lopsided (i.e. a left side smile or a right side one) In addition, scaling the control down causes the mouth to pucker.
- BOTbrows: Another cross style controller , it can move in its X and Y axis ( in terms of the head it can move up, down, left and right). The outer brows follow the controller, i.e. moving it straight up lifts the outer brows, straight down lowers them, and moving it up or down and to one side affects the brow to that side only.
- BOTbrowmid: This is a limited up and down controller; it moves up and down to raise and lower the middle brow. scaling the controller down furrows the brows, to create the impression of thought or concetration.
- BOTeyetrack: moves up, down, left and right, causing the eyes to follow it. scaling it in and out causes the eyeballs to cross or part, good for cross eyed looks or focusing the eyes on close or far objects (imagine the character tracking a fly that lands on his nose) . The eyelids also move with the eyes as they look up and down, much in the same way real eyelids do.
- BOTpupil: scaling this up and down shrinks or enlarges the pupil, this is usually not going to be visible in a render, but might be good to register illumination changes, desire/repulsion, drug addiction, or hypnosis by sadistic socially climbing secret agents.
- BOTeyelid( _L and _R) scaling them down closes the eyes, scaling them up opens the eyes wide, moving them up and down moves the eyelids’ “center” up and down- this allows to control whether the closing of the eye is done mostly by the upper lid, lower lid or both.
- BOTsquint is another cross style controller (like BOTmemo) ; it can move left, right, up or down, but it only does anything in the up direction: squints the left or right eye or both, depending on whether you move it up-left, up middle or up-right.
- BOTsneer works the same way as BOTsquint but sneers the nose.
- BOTulip is a full on cross controller, and works similar to BOTbrows or BOTmemo; moving up and to the left curls up the left upper lip, up and to the right curls up the right upper lip, and up and to the center curls up the entire upper lip. moving down and to the left curls down the left upper lip… you get the picture
- BOTlolip works the same as BOTulip, but for the lower lip
- tongue stuff: The three balls in the mouth just move the tongue segments around- they have stretch to constraints to each other, and while the result may not be very delicate or precise it should be fine for 99% of tongue animation needs
- BOTjaw can be moved in any direction, to move the jaw up, down, left, right or to jut it in and out.
Armarure Layer 10 (fixed) contains the stride bone, for use in walkcycles. You can see it has a ruler like shape- this is the one case for scaling the display object for the bone, since it can be used to “measure” the stride of the character in a walk. ( you can find the stride bone shape in layer 20, conveniently parented to the actual stride bone)
Well, that’s all for now folks. Next post will return you to your regularly scheduled orange news.