View Full Version : Walk cycle prototype for critique

04-11-2006, 03:59 AM
I tried posting this before and it never showed up in the forum, so I'm trying it again.

I am a computer programmer who is exploring how practical it would be to create animated content in Blender to use in a game engine I want to develop. I have no formal art training, and I am an amateur hobbyist when it comes to animation.

I have been working with Blender to model, skin, and animate a simple character to test for exporting into an animation playback system I wrote. I have been learning to use Blender, and some of the features I am currently making use of are new to the latest version and not well documented. Because of all of this, I decided to keep things simple and break the character I'm working on into an upper and lower half. The character is intended to serve as a prototype for a full character animation that I will try to develop later.

Even though I am not a professional animator, I am interested in creating something that looks good. So I have been submitting postings of my animation for critique. Some people have said that it would be easier to critique the animation if it were not broken into the two halves. To that end, I have been able to create a new version of the animation that does combines the two halves together, and I would like feedback on the results. I am just going to for a simple, basic walk cycle; something that would work well for use in a game.

I believe I have addressed most of the issues that people have pointed out in the critiques I've received so far. The one thing that I'm still confused about is the head bob. I'm hoping this new posting and animation will provide a clear explanation and better content so people will be able to useful feedback.


04-11-2006, 05:39 AM
One thing I forgot to mention was that the animation was rendered at 30 frames per second.

04-14-2006, 01:25 AM
I don't understand this. I submitted an animation with just the upper body of the walk cycle and I got a lot of responses from it. Someone said I would be better feedback if I posted the whole animation. I've done, that and even included a frame counter. I also changed the hands which is what most people were complaining about. I don't know if it is better, or still needs improvement.

Finally I made no changes the head as people gave confusing feedback on it and I wasn't sure what I should change. I was hoping to hear more about what I should do with it.

What is the reason no one is saying anything about this animation? It seems there should still be stuff to comment on and critique.

04-14-2006, 06:50 PM
The biggest thing I've noticed is that the motion is choppy. This usually means that your animation curves (IPO's in blender?) are too sharp in some spots. This can also be called "ease in" and "ease out," as in, "You don't have enough ease in/ease out." Also, when making a cycle, you need to make sure that the endpoints of the curves (first and last frame of the cycle) meet smoothly.

After the heel hits the ground, the front part of the foot needs to slap down on the ground in 1-2 frames.

The hips feel funny. It looks like the rotation happens around the middle of the torso, above where the belly button would be, when it should be more towards the hips. The end result is that the hips sway back and forth too much for a simple walk cycle.

The skinning looks funny around the shoulder areas. Also, the right arm snaps right around frame 35-38 in the "perspective.mov" file. This is most likely caused by an IK rig for the arm. I usually use FK on the arms for walk cycles because it gives more natural motion. A simple rule of thumb is to only use IK when you need to lock a bone in position (such as when feet are on the floor) and all the other times, use FK. If you are using FK for the arms my apologies, but there is still that pop in the elbow.

The "head bob" is just the weight of your head reacting to the up and down motion of the body. When a person's neck is relaxed, the head naturally moves up and down in response to the changing directions of that person's body. What this translates to is a side-to-side and up-and-down motion of the head.

Overall, fairly good for a programmer with no art training. I've seen worse from animation students.:argh: Something that might help would be to just sit in a place with a lot of people walking (like a mall or airport) and observe how the different parts of their bodies move. For instance, spend a few minutes to an hour (depending on patience :) ) and observe how people's heads move, how they swing their arms, whether they stomp their feet or set them down softly, etc. It's hard to break down motion logically and technically, but easier to animate something that FEELS right by relying on these kinds of observations. Looking at some of the other walk cycles in this forum and breaking them down frame-by-frame also helps.

BTW, I wouldn't simplify things by breaking up the rig into upper and lower halves. I would instead just animate the legs, spine, and head, and then when that worked well, move on to the shoulders, arms, and hands. But that's just my opinion.

04-14-2006, 08:14 PM
However, you need a perfect loop on all components. The head seems to be in a back position during the right foot forward part of the cycle (frame 24) and looks to be back during the left foot forward part of the cycle (Frame 1 and 48). You may want to incorporate some Contapposto into this cycle. You seem to have the hips articulating laterally in the opposite directions that nature would have it, (this is of course subjective to speed of travel, character attitude, etc.) But I would start by getting some motion in the hips to the effect of an upward tilt in the direction of the weight bearing leg. The chest is doing something strange I don't know what your rig looks like so I couldn't say just what is causing this, but the upper ribcage seems to be moving laterally in an unnatural way.

04-15-2006, 06:47 PM
Now this is more like it. This is the kind of feedback I was hoping to get and I really appreciate it. It gives me something to work on.

About the skinning, I'm not surprised that there might be problems with it. I have had a terrible time trying to skin this character. It has been a very slow, tedious and error prone process. I hope I'm just not doing thing right, and that there is an easier way to accomplish the skinning. Right now, I'm not looking forward to skinning the character I plan to do when I'm finished with this prototype.

What advice and resources can people suggest that would help with skinning in Blender?

I did use IK chains for the arms. I could try redoing them using forward kinematics.

I'm not familiar with the term Contapposto. I'm also not sure that "the hips articulating laterally in the opposite directions that nature would have it" actually means. I interpret lateral motion as side to side. I'm not sure if this means the hips move out to the side too much or what. Which direction up, down, forward, back, or sideways are the hips moving that looks wrong?

04-17-2006, 04:54 PM
Wikipedia: Contrapposto (http://en.wikipedia.org/wiki/Contrapposto)

(also follow the link on the above page to "Classical Contrapost")

Basically, this is where hips and shoulders tilt in opposite directions from a frontal view. This is caused by the body balancing itself when all the weight is on one leg such as in the passing pose during a walk cycle (when the rear foot moves forward and passes the stationary foot).

For rigging and skinning you could check out the Blender forums on this site, although elysiun.com is probably the best place for Blender stuff.

Good luck!

04-17-2006, 07:53 PM
Sorry about the jargin. Yea, Casey pointed you in the right direction. To be more specific about what I was saying. The hips articulate in the X, Y, and Z axis. We will say that X is toward the right or left and is the axis running through the hips and shoulders. Y is up and is the vertical axis (running along the spine), And Z is toward the front of the character and is the axis running from front to back of the character This last one is the axis I was talking about, Z is the axis that runs through the character from front to back, so if you put a pole through the body just below the belly button and had it exit just at the base of the spine and then you rotated the hips on this pole you would have the Z access of the hips that we are talking about. In most cases the hips tilt up in the direction that bares weight. This is a nature effect of the suspension system of the body. The critique I was giving of your work was that you seem to have the hips angled downward toward the weight baring leg. Just stand up and walk and pay attention to how your body responds to the shift between one leg and the next and you should find that upon stepping on your left leg your left hip goes up and then on your right leg your right hip goes up.

Looking forward to your next post

04-18-2006, 02:35 AM
Okay, I think I understand what you are saying about the hips. I might have done it backward because I thought the back foot rising off the ground would correspond to hip on the same side lifting up.

04-18-2006, 07:35 AM
yea, for the head-bob, ya just have to remeber that it's like a seperate component of the body and is being driven in motion by other components of the body, like the spine/shoulders... so to have a smooth natural flow the timing of the keys need to be offset to get a secondary motion in the body. luckily, that works for just about everything else in the human form also. and also luckily for us, we get a cheat sheet of how these things work by having our own bodies to examine in motion...so if you get really bored or interested just try acting these motions out and you can start to actualy feel the rotations amounts in your joints...and if you have a video camera you can record yourself and study that.


04-23-2006, 10:49 PM
I've made some changes to the animation, and I'd like to know what people think of the new version.

04-25-2006, 03:48 AM
I've seen my post about the latest version of the animation show up in this thread. I did not see the thread show up in the forum. So, I don't know if anyone has seen the update and looked at the animation.

I still think there are problems with the animation, and I'm not sure what is wrong with it. I am hoping other people can provide insight.

There are some problems with the animation I'm not going to focus on as this is just a prototype study before I do walk cycle I really want. I'm not going to fix any skinning problems or movement in the center of the torso. I've also set the hips too high inside the model. Because of the way things are right now where it's really two separate models hooked together it would be too much of a hassle to fix this. I'm hoping it doesn't interfere too much with people's ability to evaluate and critique the animation.

04-25-2006, 05:09 PM
II still think there are problems with the animation, and I'm not sure what is wrong with it. I am hoping other people can provide insight.

There are some problems with the animation I'm not going to focus on as this is just a prototype study before I do walk cycle I really want. I'm not going to fix any skinning problems or movement in the center of the torso. I've also set the hips too high inside the model. Because of the way things are right now where it's really two separate models hooked together it would be too much of a hassle to fix this. I'm hoping it doesn't interfere too much with people's ability to evaluate and critique the animation.

Please post the url to the movie. I'd rather just have the movies as seperate files, rather than as a zip.

If you are not going to fix the stuff wrong with the first cycle, then post a movie showing a cycle you are willing to fix. The spine/hip/shoulder areas are extremely important to the motion, and it's difficult to judge an animation just on the leg/arm/head movements. If you don't care about the skinning, just show an animation of the rig, or an animation of simple shapes (boxes, trapezoides, etc) parented to the rig.

04-26-2006, 01:26 AM
The URL is listed in the first posting for this thread.

Here it is again.

This animation is just a prototype study to learn from before I try making the final walk cycle. Something about are screwed up and difficult to fix. My hope is that when I create the final walk cycle I will have learned enough that it won't have difficult problems that I have to deal with.

04-29-2006, 04:30 PM
I have a new version that I think is much improved. However, I would still like to know what else is needed to make it good.

05-01-2006, 02:31 PM
Definite improvement...

There is a snap in arms & head at around frame 1-4. The left arm snaps back, the right arm snaps forward, and the head snaps to the right. It looks to me like the guy is flinching right at that frame. Also, the left arm pauses too long at 20-30, then goes back too fast. These problems are harder to fix, the keys are probably okay, it's the curves that are off. There is popping in the knees still, at frame 1-2 and 24-25. To fix this, try lowering the center of gravity so that the IK chain is not over-extended. The wrists do a strange back and forth motion: if you hold your arm out palms facing each other, then bend them towards and away from each other, that's the motion you have that looks funny. In other words, the wrists should bend the same direction as the elbows, not side-to-side. There are also some timing/curve smoothing issues with the correct wrist direction motion (this is really difficult to explain in text :p I could show you in person in about 1 and a half seconds). There is slightly too much head bob for a generic walk, but that also can depend a lot on the personality of the character.

In general, the animation curves should be quite smooth. The steeper the slope, the faster the action, the more horizontal the slope the slower the action. You really don't want a large shift in the speed of motion - e.g. from very fast to very slow - unless there is some large force acting on the body part. That's why it's okay to slap the foot down (which looks good in your animation btw) but not so good to have this in the arms of a walk cycle. Don't be afraid to experiment with removing individual curve keys (blender has an undo system in place for IPO's right?) to smooth the curves out. Adjust the tangent handles to make sure there are no abrupt changes in speed and direction.

Have fun!

05-02-2006, 04:22 AM
I wished I had been able to read your feed back sooner. I made changes over the weekend and published a new version of the animation last night. I don't know if you actually saw that version or the earlier one.

I think the new version addresses some of the topics mentioned in the feedback. I tweaked the movement of the arms. I wasn't aware of the popping motion so I don't know if that's still there. I also haven't done anything with the wrists or head bob.

I think the head bob looks odd, and I haven't figured out what's wrong with it yet. I never knew how much bobbing to put into the head in the first place. It seemed to me that animation is generally more exaggerated than real life, so I thought it would be better to do too much bobbing than not enough. I might have taken that too far.

What do people think of this latest version?

05-02-2006, 09:52 AM
I think 'cmccad' feedback addresses enough overall to chew on for a while...a lot of understanding what the curves should look like just comes with experience and playing with it for a while as you are learning.

As for the head bob, it seems that from the side view it does look a little severe but again back to the point of personality. If I were to consider this was just a generic walk, then your guy likely would not have the proud shoulder sway that you seem to have given him so I don't know that the head bob is entirely too great given this fact. You can always pull it back (i.e. make it less extreme). Just decrease the amount of rotation you are applying to the head and/or the neck in the forward axis. (looking from the side view) -- This brings up the point that it would be nice to have an axis indicator in your capture so there is more to reference.

Also, I was just curious what your reference is. Excuse me if you had mentioned it earlier in the post but your guy seems undecided on his personality and it might help if you do some walking and just watch it over and over. I imagine you have already done this but sometimes it helps to look back again -- even after fighting with the fcurves for hours on end...sometimes it provides a new perspective.
Finally, remember to have fun and that nothing is precious...I cannot tell you how many times when I was learning to animate (of which I am still learning and likely and hopefully, always will be) that after spending days tweaking that I just wiped everything and started fresh. It is not a bad thing even though it can seem scary because you have poored your heart, soul and hours that you might have been able to sleep into an animation...you can always learn more and improve. I am not advising you do this now but your next walk cycle will be so much better because of what you have learned on this one ....and on ...and on...

This just from my perspective -- so I am not asking that you agree.

05-10-2006, 04:41 AM
Okay, I have made modifications to the animation. I've sped the animation so it is only one second long.

I worked on the legs by making the back leg stay on the ground longer while shifting weight to the front leg. I'm hoping this makes the walk look more like the character is pushing off the back leg like it is supposed to. I also adjusted the hips so that the hip for the weight bearing leg is up while the hip for the passing leg is dropped. I'm hoping this part of the animation is fairly close to done and doesn't need any more adjusting.

I also changed the head bob. I figured out that I was tipping the head forward and totally the wrong part of each step. I think it is right now. I'm not sure that I still don't have too much bobbing in the head or not.

I'm still having a lot of difficulty with the arms. I was struggling with them over the weekend, and I still haven't gotten them working right yet. I focused mainly on trying to fix the right arm, and didn't do much with the left.

I originally keyed the arm to reach the apex of its forward swing when the heel of the foot planted on the ground. Feedback and other resources indicate this apex should occur later in the cycle. Trying to adjust this swing has lead to a motion where the forward arm suddenly jerks before it reaches the top of the swing. I haven't been able to figure out how to get rid of this yet, and I'm really hoping someone can tell me how to fix this.

05-10-2006, 05:52 PM
The right leg pops frame 15-18, where the knee is bent, hyper-extends, and then pops back to bent again. This is caused by the IK goal moving past the limit of the IK chain (ie bone structure). If you leave the foot down on the ground longer, you need to make sure that it also moves backwards longer. Remeber, the ground is moving past at a constant rate, so if the foot on the ground doesn't move relative to the center of gravity, it is dragging.

Still too much snap in the head.

When rendering/capturing the animation, make sure that the first and last frames are not repeated. What I mean is, when animating a 30 frame cycle, frame 1 and frame 30 should be identical, and when you render it, render only frames 1-29. It looks like for you, frame 1 and 31 should be identical (there's actually a slight difference in the right leg), so you would render 1-30.

The biggest problems with your animation as it stands is the animation curves. You basically need to live in the curve editor for a while to understand what is going on. The curves is the reason why the right arm snaps back, why the head bob looks off, why the hips sink so suddenly, why the back foot pauses too much, etc. Just setting more keys will not fix these problems, unless you key every frame, and that's more trouble than it's worth. An ideal curve for a walk cycle changes slope smoothly, like a sine wave. Some stuff it's okay to have abrupt motion, like when the front foot slaps down onto the ground, and these curves will look sharper. Go here (http://www.redrival.com/%7Ecmccad/assets/temporary/) for some examples (if the pictures don't show, just reload the page).

Notice that even the sharp curve is nicely rounded. Also, the fewer keys it takes to get the motion you want, the better. Play with tangent handles to get the shape you want before you go and add another key. Sometimes you'll add several keys, and if after tweaking them you realize that you don't need some, go ahead and delete them.

General rules of thumb:

the steeper the slope, the faster the motion
a flat curve = no motion at all
the heavier and more massive the object, the slower it will move,thus the flatter the curves - this includes the torso, upper arms, upper legs, and the head
small, light objects can have steep curves - this includes hands, feet, tails, ears
just because it is massive doesn't mean it has to move slow. If the character puts enough effort into the motion it can be quick - but make sure that you SHOW the character put in the effort.
in the same vein, just because it is light doesn't mean it HAS to move fast
These are just guidelines - if something looks better when you break the rules, then go with it.

Have you looked into the 12 principles of animation? If you haven't, stop and go do so right now. Google is your friend ;).

05-12-2006, 03:40 AM
I think I messed up a bit when I created this new version of the animation. The former version was 48 frames, and this one was supposed to be 30, running from frame 1 to to 30. I have frame 31 set up to be the same as frame 1, and I think I set the duration wrong so that the 31st frame was included as part of the render. It was only suppose to serve as a target to interpolate toward when rendering the final frames.

I have been messing around with the animations curves quite bit. It's been kind of a frustrating experience working with them in Blender. I keep wondering if they aren't a bit buggy. Sometime I will adjust a curve and when I scrub through the animation I will get different results especially when comparing how thing look when moving backward through the animation versus how it looks when moving forward. I think this has to do in part with new feature I'm using that is similar to driven keys in Maya. The type of object that I've chosen as the driver doesn't always drive properly. I think if I had used a different type of object I would have better results.

The other difficulty I have working with animation curves in Blender is that rotation curves for posed bones are expressed in quaternion components instead of the normal X, Y, and Z axis angles. This makes adjusting a rotation very unintuitive as rotation around any of the standard axes is affect by two animation curves. The best I've been able to do is tweak the curves slightly so they look smooth. I don't like adjusting quaternion curves too much because then the quaternion might not be normalized to unit length. Non-normlaized quaternions can lead to unexpected and unwanted scaling in the matrix transforms they produce.

I really feel that the Blender team should change the way these rotations are done for bone poses.

05-12-2006, 06:05 PM
The other difficulty I have working with animation curves in Blender is that rotation curves for posed bones are expressed in quaternion components instead of the normal X, Y, and Z axis angles ...(SNIP)... quaternions can lead to unexpected and unwanted scaling in the matrix transforms they produce.

Hmm, I see what you mean. :curious: You can still look at the curves and see if they are smooth where the should be, adjust tangents, move keys in groups to adjust the timings, and adjust the rotation of the bone in the 3d window and re-key. The principle of fewer keys also applies, you just may have to have more keys to get things the way you want. Also, adjusting the tangents and snapping things to horizontal (SHIFT-S_KEY, 1 in the IPO Curve Editor with the key selected in edit mode) on extreme keys helps. Some tricks to getting the first and last keys to flow into eachother:

1. Cycle your curves ("curve -> extend mode -> cyclic" with the curve(s) selected) so you can see if any end keys meet in a V shape.

2. If you need to adjust the tangents on these keys to be something other than horizontal, make them horizontal first, then grab the tangents for BOTH keys and move them at the same time. This way, the angle of the tangents stay the same. It would be better if blender allowed you to rotate the keys, but I can't figure out how. :(

3. After cycling all the curves, make a playback that is at least twice the length of the cycle, and watch for any hitches/snaps/suddent changes in direction. You would do this if the normal playback of just 1 cycle pauses briefly when looping from the last frame to the first frame (happens quite often and quite inconsistently when using Quicktime and Windows Media)

Just some general advice - do a playback (playblast in Maya, preview in Max, look >here< (http://blenderartists.org/forum/showthread?t=41413) for how it works in blender)

I'm not sure what to say about the driven keys, except to say that animations played backwards can look VERY different from when it is played forwards. Don't worry about how it looks backwards, that's not your target.

I'm going to have to try and animate some rigs in blender... its animation setup looks interesting. :wip:

CGTalk Moderation
05-12-2006, 06:05 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.