Search Unity

3DS Max Walk Cycle for Mecanim Technique Help Please :)

Discussion in 'Animation' started by Adeno, Feb 2, 2014.

  1. Adeno

    Adeno

    Joined:
    Aug 7, 2011
    Posts:
    184
    Hi there! Although I can make a pretty decent walk cycle animation in 3DS Max, the technique I use is the "In-Place" animation where my character doesn't actually move forward, but just does the walk animation.

    Now that I'm trying to make animations take full advantage of Mecanim (instead of the "Legacy" animation style), I want to actually make the character walk forward in 3DS Max while retaining a perfect starting position and an ending position (the ending position should match the pose on the first frame of animation).

    When I used to do animations for "Legacy" style, making the walk cycle was as easy as copying and pasting the first frame to the last frame. Now, I don't know how to do a "moving root" walk cycle animation for Mecanim.

    To make the previous technique I used much clearer, here's what I used to do for "Legacy" style:

    1. Position my character on his "First Step" pose on the first frame and set all the keys there.
    2. Create the move animations to to get to the "Second Step" pose and set all the keys there.
    3. Finally, copy all the keys from the first frame and paste it on the last frame, which results in a pretty good cycle.

    How do I do this on 3DS Max but designed to work immediately on Mecanim? What I have tried so far is this:

    1. Position my character on his "First Step" pose on the first frame and set all keys there.
    2. Create the animations to get to the "Second Step" BUT this time, I actually move the entire character forward, then set all keys there.
    3. PROBLEM: Copy all the keys from the first frame and paste it on the last frame -> This results in a very warped/strange character as if it's being pulled back to its original location on the first frame.


    I hope someone can give me advice on what to do so that I can have a perfect copy of the pose on the first frame, except that it's on the new location on the last frame.

    Thanks in advance:)
     
  2. TremesEx

    TremesEx

    Joined:
    Nov 6, 2013
    Posts:
    28
    Copying is ok. The important thing is you get to copy the rotations on the bones from first pose to third pose because if its not the same, the characters is gonna snap to the first pose in the cycle. After copying, move the entire character again in the forward axis.

    Another solution. bake a stationary walk cycle so all the constraints are removed and then clear all the keys on the root bone except for the first and last keyframe then drag the root bone forward on the last keyframe. its gonna cause some feet sliding though.

    Hope it helps.
     
  3. 3DCWCURTO

    3DCWCURTO

    Joined:
    Dec 30, 2012
    Posts:
    19
    I use blender but the concept should be the same.

    I found it easier to start from scratch- to do this I would start on frame 0 with the feet and arms spread apart by translating things by certain amounts of unitys. Lets say the front leg(rightleg) is 1 x unit forward and back leg -1 x. Then paste the flipped pose on the halfway cycle point lets say 20keyframes. Move your hips/root forward half the distance the front foot was displaced on frame 0. So your moving the hips .5x units forward. Go to frame 0 copy the pose of the front foot(rightleg) and paste it on frame20 so it doesn't move. You can copy/pase pose of the left leg on frame 20 to frame 40 so that it doesn't move while your hips move another .5x units from frame 20 to frame 40. I think all that would be left is moving the leftfoot forward 1x unit from frame 20 to 40 and you will have your basic cycle. Obviously do the same thing with the arms as feet. Then its easy to add hip rise/sway and details

    converting .- I wouldn't be able to explain easily. I get the feeling you would be fine starting from scratch?? you can prob get away with only deleting feet,hand,and hip frames. You could get hacky and add an extra bone to the hips that handles the x movement temporarily and re-keyframe the original then remove the added parent bone after. Not sure how that would work in 3dmax.
     
    Last edited: Feb 2, 2014
  4. Adeno

    Adeno

    Joined:
    Aug 7, 2011
    Posts:
    184
    Thanks everyone, my problem is now solved :)

    I tried your suggestions and here is exactly how I got my "perfect" walk animation cycle to work with Mecanim:

    1. Create the starting pose of the character on the first frame and set all keys.
    2. Proceed to make all the animations in between, in-place/stationary style just like what I did for "Legacy".
    3. Copy the keys of the first frame and post it in the last frame.
    4. Go back to the first major change in animation (the one where you most likely set keys).
    5. Select the controls for pelvis and two feet and move them slightly forward. Fortunately, the character won't get warped/distorted this time.
    6. Adjust the distance according to the feet's step animation to make it look right.
    7. Repeat for every major animation change until the last frame.

    Sounds like a lot of work but not really. It's just a simple distance tweaking from one major animation change to the next. :D

    The mistake I made before was: Selecting All Controls instead of just the pelvis and feet controls for my character lol!