View Full Version : walk cycle problem
04-26-2006, 07:04 PM
I just recently started doing my first walk cylcle. I have the character walking in place and it looks fine. My problem is when I use the main transform on the whole character to move across the room. The feet look like they 're sliding and I can't seem to sync up the main transform with the feet movement. I tried to fix this in the graph editor, but I am not having much luck. Is there another approach to doing walk cycles, possibly without the main transform? Any help is appreciated.
04-26-2006, 10:16 PM
This is a common problem with animating a walk using this method.I much prefer to animate a walk manually by moving the hips forward on each step.It gives a much more natural looking walk.
04-27-2006, 06:22 AM
If you want to keep the feet from sliding using this method, you got to do some planning first. First you got to measure the stride of your character, then see how long it takes to make the stride and move the main transform by that amount. Example: If your stride is 24in and it takes 8 frame to go to the next stride, then that mean you move 24in in 8 frames, 48 in 16 frames and so on. Then see how long you want the cycle to last and calculate how far he has to walk and move that distance. It is very important to keep the cycles even and keep the feet moving at a constant rate.
It is very hard to get your character to ease in or out of a walk with this method so I suggest that you try animating by actually moving your character and using IK to plant the feet. The only time you should use this method for walkcycles is if you're doing something for a game or you just need a character to walk in place for a turnaround.
04-27-2006, 11:17 AM
I'm not entirely sure if this is the answer to your question but it might be.
i came across a problem when I was animating in Max 7 last year where similar things were happening. One thing that helped me solve my problem was to do with where the character was on the world co-ordinates. i found that when i wanted to mix different pieces of animation together I had animated the character in different places in relation to the world co-ordinates, so they were stretching and sliding all over the place.
Try positioning your character at 0,0,0 and then move him/her/it from there.
hope that helps.
A couple of things could be happening here.
First off, select one of the foot controls and open up the graph editor. Check the graph for the foots forward/back movement. Whenever the foot is on the ground the tangents should be linear. Basically, you should have a straight line from one contact position to the next (from the point where the ball of the foot first touches the ground, all the way to where the foot picks up). If its not linear, it means your character's feet are moving at an uneven pace, which is really, really hard to match using the main transform.
If you do allready have linear tangents, then just fiddle with the main transform's key a bit more. If he's sliding forward, you have the second key too far away - and if he's sliding in place, its too far back. If you want to get it dead-on, you can measure the slope on the foot transform and create your main transform based on that.
04-29-2006, 06:19 PM
Thanx for all the help and advice.
05-08-2006, 01:07 PM
When I did my walk cycle for my Animation ICA at University, I wanted a more cartoony walk, but I had the same problem (feet kept sliding, and I'm not a great animator either)
So I took a step back from 3D animation and looked at 2D animation.
I used the rules from 2D animation to get the timing and the striding right, and even the bounce people get when they move. if you look at the keyframes for a 2D animated walk cycle and apply them to a 3D model on a side view, with a few tweaks here and there, and planted keys on the ball of the foot when a foot touches the ground (take them off when it's off the ground or it'll keep flipping back to the planted key when you try to key frame it) and you end up with a really good walk cycle.
(and there's no skips in it either)
(sorry if this was a bit off topic, in places, but I had the same problem and this helped me sort it out a great deal)
05-09-2006, 12:43 AM
Here is an easy method to elimate slip on your characters's feet.
At your contact position, note the z translate of your characters foot (or x and z). Say it starts at 5.00 in the contact position and ends at -5.00 before it lifts off. That makes for a difference of 10 - the length of the stride. To elimate the slip, just move your master control 10 and make sure the interpolation (the graph editor handles on the keys) is set to flat. Set the foot controllers keys to flat interpolation and you'll have a slip free walk.
On another note, I recommend not animating in cycles unless you're specifically creating game animation. That or have several steps animated before the walk cycles.
05-10-2006, 02:32 PM
First off, as above: don't animate walks in cycles. It makes it unnessecarely harder and also unnatural (the body speeds up when it drops and slows down on a rise, it isn't at constant speed).
Here's the easiest way to fix it: do not use only two keys, one at the beginning and one at the end, for the translation to take place, but put every pose where it needs to be on that frame. If your walk works in the cycle, you should have no problem matching up the planted foot for every frame and setting a key. An admirable animator once opened my eyes when he said: "don't spend more than 15 minutes on a problem in the graph editor. Just make it happen and set a key. You're an animator, you know where your stuff should be better than the graph editor." Since then I put a key on almost everything on almost every frame. For the project I'm doing right now I don't even get out of stepped mode. That kind of makes it non-linear stop motion animation in the computer.
05-10-2006, 02:32 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.
vBulletin v3.0.5, Copyright ©2000-2014, Jelsoft Enterprises Ltd.