*** Animation Workshop ***

out of date: visit Animation Workshop 2

There is not enough animation made in blender. The tools are not realy simple to grasp and usualy, animation is the last step; the “you need to know all the rest” stuff. Face it, more than 50% of elysiun don’t know how to rig a mesh and use the NLA. I didn’t know not so long ago. We should start to discuss some deep stuff ands wises tricks to quickly understand the How and why of blender animation. So post tutorial, link to tutorial, video-tut, and quick How-To(gonna do some too). I will put all valuable info in a webpage so all the info will not be lost in a ton of page. Maybe good for blender3d.org

Topic should be IMHO:
-Modeling a character animation-wise.
-use vertex group.
-riging a character by vertex group or by closest bone.
-mirrored modeling and rigging (using .L/.R- Suffix)(edit-thoro)
-the logic behind rig, use of global root bone and group bone, by parenting or constraint.
-weigth group, soft joint, all interesting stuff to make good looking join.
-constraint. (Or why do it by hand if you can ask blender to do it.)
—automate animation: ik, constraint in armature.
-animation in pose mode, to use now in a scene to to save for reuse?
-The action windows. The “key” of all synchonisation and global overview.
-The NLA windows. How to reuse complex action. and blend them
–Walkcycle How-To with example.
-Vertex key. PET tools and all to get mesh deformation easily.
-Complex animation:
–how to make multiple rig interact with each other.
–make contact real, ex: a character holding something, Notion of gravitation.
–Give your character some character!
-Python in animation.
…feel free to add more.

Links and Web site:

***General Animation:
http://www.deathfall.com/article.php?sid=4485 (interesting TIP)
http://www.keithlango.com (toontje)

(non-blender) http://www.3dtotal.com/team/Tutorials/julian_creating_character/julian_creating_character_02.asp
(non-blender) http://www.3dm-mc.com/tutorials/maya/dobby/
(non-blender) http://www.learning-maya.com/modeling.php
(non-blender) http://maxrovat.sns.hu/subdiv/

***Vertex group:


***Relative vertex key (RVK):


***pose mode:

***action window:


***Walk cycle:


***Already done Character to practice:

Lets start learning.[/list]

You’ve got my vote. I can’t seem to get beyond the simple keyframe approach to animation. It’s not that I don’t want to know … it’s just so intimidating.

That’s a good idea, Gabio - showing a proper animation workflow would surely take away people’s fear and inspire them to start animating their work. And it could help to point out the weak spots in Blender’s animation system.

I started rigging / relative vertex a few months ago and am now learning how to use the NLA system, so I’m very interested in this.

Bassam Kurdali (slikdigit) gave a very inspiring presentation of Blender’s animation system on this year’s Conference - I think it will be available as a video file on blender.org shortly.

One more topic:

  • mirrored modeling and rigging (using .L/.R- Suffix)

Well this thread is already dead…
Gonna start to post stuff as soon as i’m finish with my school projects. hopefully this week or so.

On side note:
As said by thoro the video of slikdigit is now on.
It cover most of the stuff. So we may organise learning session around some of the nice stuff he showed.
But most of all: we need practice, you can’t be confortable just by looking at exemple and how-to. Get some experience by fireing up blender and riging all sort of mesh and try to animate them. That’s what I do.

If you got high speed connection. get the video here.(it’s 1 gig BTW)


get the video from Bassam Kurdali (slikdigit).

Ok, we should start with the first thing first. Modelling.

There is now three types of morphing animations in blender for common character animation:

-RVK (relative vertex key)
-Hook (New stuff!)

What is the basic behind all these morphing methods is modifying the internal structure of the object based on a period(time, frame).
Now when modelling with morphing in mind, we should be aware of future behaviours that may append:

-Moving all these vertex in a way it look belivable.
-Ease the creation of RVK with a mesh topology easy to move.
-Ease the rig process by making join more belivable.
-If using UV map(and you should, and i hope we will), be aware of texture stretch.

The standard way to model for character, and making sure the topology of you mesh will not give you bad surprise and headhache is the the egde loop concept. This is already discussed here where modron started a Modelling Workshop.

What is a loop? Character tend to be organic with a lot of round stuff: a finger, an arm, a leg. so it seem logic to loop your topology aound it. A loop is a suite of continuous edges like this:


First: you can select them. Very usefull to check if a loop is valid. in blender 2.35 you can open the loop/cut menu with KKEY, or doing shift-r for face loop, or alt-b for vertex loop, and now also you can select loop depending on the mode you are(vertex-edge, face) in edit mode by just pressing CTRLKEY+ALTKEY and RMB on a edge(it will select the face loop if you are in face mode or edge loop if you are in vertex and edge mode. Note; you can also hold SHIFTKEY to select more than one loop at a time, so you can work on sparse loops all over your mesh.

Exemple of use:
Animation example from TorQ:

Tip: to create a loop easily on a mesh use the knife tool:
on a cross between 4 quads, use the knife midpoint tool to circle the middle vertice. When done, delete the middle veertice and tadam! there is a loop, ready to be extruded in an arm of something else. you can check that it’s a loop by starting the loop cut, CTRL+RKEY, blender should draw a circle around the hole if you place you mouse on the blue edge. in the example, then stop the cut with ESCKEY.

Check the links section about modelling for cool example and tutorials.

Update,some new links, The manual of blender, cause it seem some people don’t know there is a blender manual. Also added some stuff on modelling. If you have suggestion or have something to add, or if you saw some mistakes in there… just post here.

kinda bump this thread a bit. i hope some poeple will join in to learn and ask questions to get started in animation with blender. Should start now as it might be cool to learn the new stuff in 2.37 when they will get out. I will keep you informed about new stuff, and maybe a bit of doc.

Should we start talking about Rigging.

rigging is a bit tricky because there is not unique way.
Look in the link section for some riggin exemple.
I will use this one as reference by nozzy.
Base info on riggin can be found in the manual concerning what is a bone what is the diference between editmode, ojectmoe and posemode for an armature, and the way to handle bone. Name convention, flipe rig and name. Skinning is an other topic, we are just building rig here for now.

there is some common trick we can see often, mainly:

-breaking the amrature to create independant zone like arms and toes. (see example rig: if you move the back bone(yellow circle) some bone try to stay where they are(red arrow) thanks to some simple but usefull IK constraint tricks and because these bones are not member of any chain so they do not move with the others.

-Add other IK constaint to pull the chain so you are sure the ik solving will not think other way than going forward.

-Using the trackto constraint to animate easy stuff. like the head in the ref.

Using already made action to do repeated stuff like open/close the hand. with an action constraint. like in the ref; turning a bone is closing the palm.

and more involing parenting and other constraint. the possibilities are huge. add some here you if know some cool rigging tricks.

Before going any further. Lets explain ik and action constraints as it will become tricky next to use if we don’t know them.

Ik constraint
And ik constraint is very helpfull to create animation without touching every bone to animate something. Think about someone taking an object, if you have to animate all the bones of the arm rotating to get near the object and then take it, it gonna be long. A time lost. but if you only have to move one bone and all the rest of the arm is trying to follow it’s much more easy(and funny the first time;) )

Installation of the IK constraint:

Bear in mind you can only add ik solver in pose mode.
we will take a simple chain to see the effect.
add an armature and add bone, like this:

an ik will alway start from the root of the chain he is part of and try to put the bone containing the IKsolver to the target by rotation all the other bone in a logic manner.
So to install and ik here. first enter editmode and select the last bone you added. in editwindow(F9KEY) select blank next to the “child of:” so in fact this bone is no more part of the chain. It will be our target. This is because the target cannot be part of the ik chain(mean the bone cannot be child of…) keep in mind you can also use any other object as target.
enter pose mode:
and click on the one before last bone and go in the contraint tab in object windows(F7KEY). and add an ik solver.
As target enter the name of the armature first, because the bone isn’t an obejct in itself, it’s part of the armature. Next an other text fild will appear and then enter the name of the last bone. To know this info, use the very usefull “Draws name” button in editwindow. you can do it now. It should look like Bone.005 or something like that.

Ok if there is nothing red in the Ik solver. All is working great and you can go moving the target(the last bone).
you will see all the bone rotate to touch the target.
blend file

Lets add a bit of chalenge now by adding two ik solver on the same chain so you can control the sense of the rotation. It’s a cool tricks you can see in a lots of modern rigs.

Back to our previous chain we will want it not to turn on the left if we move the target down too much.

start by adding a bone in editmode on the right side. It will be our new target.

select it. and make it child of Bone.002.
Now this is important: remeber a target can’t be part of the chain(the IK button in edit window), but it can be parented to the chain. so what we will do is parenting this bone just under the iksolver because it’s not accepted if you parent it to a child of the solver. And we want to parent it because we want it to follow the chain when it will move so it will always point to the right side. See the scene named “2 solver” in the earlier blend file. Now you can get something as easy to animate without bad surprise. See the alreay made rig for exemple of this tricks, easily spoted because of these floating bone all around the rig :wink:

Action constraint
Very cool and a time saver. When you dont want to do something repeating more than once. you can triger a complete action on a simple bone rotation. Like the commands of a bulldozer… hehe.
Look at the reference there is a cool exemple of it.
Open the outliner and go in the skel object branch, open the armature click on the face(pose mode) and open the root branch, then the ik_foot.l and select the foot_rool.l. Now moving this bone in 3dView will give you a big motion a single bone should not do alone. Lets see what’s up.

Open an action window(SHIFT-F12) and load the action we saw previously on the left foot: dvn_left_roll(also take note there are two action for the arm, using the same system). It should show you the action of the foot rolling. And now on this is the primary animation to play when you press alt-a. Mean if you want to modifie an action. Don’t forget to close it after ( X button). It will not delete it because it’s always linked the the armature.

Now go back in the outliner(SHIFT-F9) and select the bone named “ik_toes.l”, “ik_heel.l” and “toes.l” to see in the constraint panel (F7KEY) that there is an action constraint targeting the bone “foot_roll.l” The bone we used to move everything.

The concept behind this constraint is very simple. you do and action on the armature you plan to reuse. then all the bones you keyed will need an action constraint to do his job. So in this case the action needed 3 bone, so he applied the constraint on all 3 bones. Next you set the start and end of your action. in this case the action was 21 frames long and finally you ask to map this time on a rotation angle. So here the action will go from frame 1 to 21 if you rotate the target from -90 deg to 90 deg.

Let’s do one for fun:
Go in edit mode and add a bone on the side pointing up. it will be our target. In edit buttons parent it to the root bone so it will follow the rig when we animate it. Name it move_roll so we know what we are talking about.
go in posemode and open an action windows. Create a new action named “move”.
For the action we will dosimple simple just to see it move when we will rotate the bone. I choosed to give him a weird pose. The action will be 20 frame long and will have 2 poses: default one at frame 10 (better enter a loc key here now before we forget it. and the “weird pose” at frame 1 and an other weird pose at frame 20.
So I select the bone i want to move(“pelvis”), mov ethe time to frame 10 and enter a loc key (IKEY, loc). A Plevis strip will appear in the action window. Next move to frame 1 and then move the pelvis in a cool pose.
Then move to frame 20 and give him an other cool pose.
When you are done, go back at frame 10 and close it. For some raison the armature keep the pose of the action even if you closed it, so better give him the default pose).
Now, with the pelvis still selected go in constraint panel and add an action constraint. The target will be “skel” the armature and the bone will be move_roll the target we just added.
Enter the name of the action: “move”.
Enter the start and end: 1 & 20.
enter the minimum and maximum roll: -90 and 90.
the X rot is by default and is working great in side view.
so it give something like this when animating the “move_roll” from -90 to 90 deg.
hope you find this usefull.

Thanks Gabio,
Finaly I know how to do an IK Constraint, very clear, thanks alot! :stuck_out_tongue:

there is another way to add an IK solver too,…in tuhopuu you can just select the node you want the IK solver to branch from and hit ctrl I. for those who don’t know what tuhopuu is, it is the experimental version of blender, and has a few features that BFBlender lacks. It can be obtained from the testing builds subforum at the developers forum.

It no longer has it.
all flushed to be replaced by 2.36 source. Too instable.


Nice accumulation. You are absolutly correct about hte workflow.

I had wanted to build a workflow tutorial also but have since put it on hold pending the prospective rebuild of the animation system for 2.37.


Go post some stuff too here. if you wait for 2.37 it will be too late. I hope to show the new feature as they are added to the CVS.
It’s gonna be very helpfull to get an other view on the topic(I’m not that good in animation you know…)

I’d like to point out that this is exactly what BlenderChar is supposed to be for, if only more people would write tutorials for it.

Nice work Gabio, someone maybe interested in this old post with some
position-contraint animation and a action-contraint hand rig:


very interesting, especially the NLA which i new new nothing about, thank you

Very good idea you got there.
should i quote myself:

I will put all valuable info in a webpage so all the info will not be lost in a ton of page. Maybe good for blender3d.org

So you got it. I’m gonna put it all on your website.
using the forum will just help to get more visibility for the time being.

Rigging a Character
Let start with a simple character and try to apply a relatively easy yet performant rig on it.

to do so we will go through the following steps:
-Building the armature and name bones
-Create Vertex group and name them.
-parenting the armature with the mesh.
-Fine tune the vertex groups with weight paint.
-Create automated stuff with constraint.

i’m using this character.
Evily based on nozzy’s one. But started from scratch:

*Building the armature and name bones

Ok, first enable the named drawing in edit window (F9KEY). So you can follow the name easily.

Add a bone under the character named Root. This bone will be the Parent of all chain’s root and single bones. This is done to make sure if you want to move the entire armature, you just have to move one bone(ie when your character walk). This could be done in object mode with keyframe on the armature object. but then you can’t store this animation in action window as action only record bones, better stick with bones in animation if you can.

Add control bone.
It’s important to add controls points where all the chain is gonna be animated from (thanks to IK solver!). So add some at key position like foot, pelvis, neck and arms. From now on we will keep in mind to build only one side of the armature the left one, as the rightone will be a copy-paste.
When adding control point, don’t forget to parent it to the Root bone, without IK(the IK button) and name it. Also dont forget to put them unskinnabe.

Also take note of the name conventions. The names is made of the name of bone followed with a "" and then the name of the chain it is part of. Next you get the side of the armature, mean if you are working on the left part (.L or .Left) or the right part (.R or .Right). This side convention is usefull. cause it let you work on one side of the armature and then copy the left part on the right part and vis versa (animation or bone).
Also these bones(and some other like null or ik
) must be set to unskinnable(under the name feild in edit window) as this will save us some job when parenting the armature to the mesh. Because doing so will not assigne vertice to these bone as they are not part of the rig to move the topology, but to move the rig itself!)
So here you would get:
-Pelvis (it’s in the middle and is the root of the chain, so a simple name.)
-ik_Back(it’s in the middle and is part of the “Back” chain, his name is “ik”.)
-ik_arm.L(It’s on the left side and is part of the “Arm” chain, his name is “ik”)
-ik.Foot.L(For the Foot…)

We will build the chain of the Back and Head now.
Starting from the Pelvis bone, add a bone at the root of “Pelvis” and extrude bone along the back up to the head, following the topology so it will deform nicely, puting the edgeloop in the middle of each bone:
give then name such as 1_back up to the neck. The bone in the neck should be named Neck_back (though Neck could do the job too, I’m just applying the convention, i have to show the example you know…) Also the bone in the head should be Named Head_back.
Don’t forget to parent 1_Back to the Pelvis bone. so when you move the Pelvis, the Back chain will move along.

Next we add the chain or the arm.
start by adding a bone in the shoulder next to the root of 4_back. add 2 bones along the arm at the following place on the picture. End on the control of the arm.
parent the root of this chain to the bone 4_Back. Name it Upper_Arm.L and lower_Arm.L

Next we will add the chain of the leg.
add a bone next to the Pelvis as in the following picture. Do a chain of 2 bones. Place correctly the tips of the bone so when the mesh will deform it will look ok. Also don’t forget to name it ok(the chain is named leg btw) and parent the first bone to the Pelvis.

The most easy is done. now we will create the two pieces of bones to work the hand and foot out. Imagine the hand and foot as a big module independant of the body. All you need to do is build it and ask the arm to follow the hand or the leg to follow the foot.
To do so, there is already good ref about that:
hand and foot as explained in the blender book:

Though i’m not gonna let you do that alone. Let’s see the logic behind this and the way it will work in our rig.

-The hand:
Ok we will Create the hand in itself is independant of the body when it come to animating (as the foot though) so you can more easily do poses. This is done via the controller bones we added. Let’s see what we can do:
extrude the bone of the arm in the hand. Name it Hand.L
Next add a bone at the root of all 3 fingers. Put 3 bones in each. because we need at least 3 bone to get a decent effect and we need room to place an ik solver. Name them as in the image. #_POS_Finger.L (POS is position, like lo-mid-up) and also extrude an other bone at the root of 3th bone to the front. No need to be big and all because it will be you ik target for the ik solver on bone #3. Make sure the ik button is not pressed for the target. Also dont forget to put them unskinnabe.
it should give you something like this:
see the following blend file for the rig as example.

-The foot:
A Complex system, the foot is. The explained methode is realy easy and funny to anim. And can be found in many rigs examples. The base principe is about moving stuff without moving something else. In this case we what to be able to move the entire foot via the controler. bu we also want to be able to move only the rear or front of it. With differend sub-controler who is following the foot controler who is following the Root bone.
so we start with the top of hierarchy:
-we already did the foot controler.
-There is two sub-controler: front and back.
-Then the bone of the foot is in the middle, giving it direction.
-Plus some minor bone used as iksolver holder and ik target.(as the “T” of bones we did for the fingers.

From the doc we can understand the “how it work” very well. Let’s do it:
Extrude a bone from the last bone of the leg(lower_Leg.L). Name it null_Leg.L and make sure ik button is on. Re extrude from the same bone. Name it Ik_Heel.L and make sure ik button is off, parent it to the bone “ik_Foot.L” so this sub controler will follow the controller of the foot. The null bone will be the holder of the ik solver but will not be part of the rig to animate. and the Ik we added will be the target, and one of the two sub-controller to play with. Also dont forget to put them unskinnabe.
Next: extrude a bone from one of the 3 bone we just worked with so it give an “X” shape. This bone will do the entire Foot up to the toes. Name it Foot.L and remove the parent it might have. This bone will be alone, pointing to 2 targets at the same time. Then extrude up from the Foot.L boneand name it null_Foot.L. The holder of the ik solver. Make sure ik button is ok(I’m still saying this! just keep in mind when you extrude a bone it keep the ik on). re extrude down from Foot.L. Name it “ik.Toes.L” as this will be the target. Don’t fogret to set ik off (Though when you extrude in the middle of a chain the ik button is off by default. cool hein). Also parent it to ik_Foot.L as this is the other sub-controller. Also dont forget to put them unskinnabe.
Extrude to the front a bone from Foot.L. Name it “toes_Foot.L” and remove ik and parent it to Root bone.
It should look like this:

So now we have an entire side of our rig ready to be attached to the mesh. Though one side is not enough, we will need copy it on the other side, redo the name from .L to .R and put the right parent. ouf!
But we got a soluton!
Go here and copy the script you will find at the end of this page in a text file you will name renamator.py:
With the help of this script. we will be able to rename the end of the bone’s name.
Start by editing your armature. Select all the bone ending by a .L: the Arm, Hand, finger, leg and foot. Go in front view and do a shift-d. place it on the other side or the character. maintaining the CTRLKEY to make sure you are on a know scale. Press MKEY to flip the bones on the x axe. Now try placing it at the same place as the other half is using the CTRL key and maybe the shift key and ctrl key at the same time for fine tune. Now. you will find that all the name you placed will have .001 instead of .L and this will scrap all the cool stuff we could do with flippose when animating.
Now load the script in a text window and press ALT-P. YOu will by facing a simple interface where you can choose which par tof the name you want to edit, the old suffix you want to replace (Here it’s 001) and the new one we want to put instead®. Also put the name of the Armature you are working on. Now say “Change it!” and boom! all the name will be ok. Quit the script and close the text window.

The blend file with the complete Armature.

keep reading!
-Create Vertex group and name them.
-parenting the armature with the mesh.

I am finding you postings very helpfull. But I cant get the bone names to show up so my screen becomes quickly confusing. Also is it possible to change bone colour as this would also make things more clear, Like green for the ik chains and white for the targets.

I find that the new outliner window is much easier to track your bones with.

You can click on the name of the bone in the outliner window and it will highlight your bone or vice versa, click on the bone and it will be highlighted in the outliner. Ctrl- LMB click on the object or bone name in the outliner window and you can rename it. You can see the whole heiarchy of everthing

Change the view to “Selected”, what ever object is selected will show up in the outliner window.

Experimant with it, it;s a great tool!

Here’s a screen shot, click to enlarge.


Also, you can hide the unecesarry bones and clean up what you see in the window: In pose mode select the bone(s) you don’t want to see then press Shift & H key. to see all bones pre alt & H-key

thanks :smiley: . Always cool to hear it’s usefull.

To show the bone’s name. go in edit window (F9KEY) and press “draw name”
Yes this could be usefull to get multiple colour.
But when you know your rig, and when you have the outliner with the name starting with IK_ for example, you’r prety safe…