Note: To view the results:
open the blender files and switch to animation workspace
Switch different animations in the drop down menu
click the play button to play.
In this project I explored two animation techniques: keyframing and motion capture. And the process could be separated into the following sections:
- Weight paint
- Keyframe design
- Data Mapping
- Curve Editing
To prepare, I downloaded the model from the internet, then I did the rigging using blender’s addon: rigify.
Rigify provides a meta-rig in the shape of a human. And we need to do is to re-pose and place the rig onto the character with the body-pasts matched correctly.
It’s generally simple but the hand parts took a bit time.
I performed the armature deform with automatic weight to bind the rig with the character mesh, then did a bit weight painting for correction.
To make posing character easier, I first add IK constraints to the model.
It’s actually pretty complicated and counter intuitive. I need to add four extra “bones” to have the IK to navigate and it is very hard to configure and debug.
Making a tiny mistake in some step will cause the model to function funny.
I found this tutorial particularly helpful.
Rig a Low Poly Character in Blender 2.9x – YouTube
To make the keyframe I mainly referenced the animator book. I first set up pivot frames:
Then add transitions between them.
Besides the leg movement, I also paid attention to some other parts of the body:
- the head movement:
- The spine movement
- The foot angles
- the difference between right and left legs
I also made a different walking post where the character looks more confident, say, the detective got the truth in some case.
I focused on:
- the walking speed
- the upper body gestures
- the swing of the body
I also explored different keyframe interpolation options to find which are more suitable for walking. I found constant and linear are good enough.
To use the mocap data, I first need to import it into blender.
I found I can import it directly without any preprocessing.
The I need to manually map the mocap data to the armature on my model:
After mapping there are still bugs, the arms and hands are twisted. This happened both in my project and in the tutorial video Blender-Importing Motion Capture Data – YouTube
I have not found exactly why it happens, but it seems like blender has some different understanding on arm rotation on z axis (perhaps in BVH its Y up?)
But I found I could use the graph editor to fix the problem by moving the entire rotation graph down until the arm is at the correct position. this operation means to rotate the arm across all keyframes.
It inspired me to use the graph editor to edit the mocap data for different effects.
I made a far-jumping movement by bending the rotation curve more.
I also played with other features, such as multiplying a sine function on the original curve. They are interesting but not very suitable for walking animations