Skis part 3: Moving the
Page 1 2
By Bernard Lebel
In the previous tutorial, Cycling the Skis, we learned how to animate the skis in a 40 frames loop. Now we will see how to animate a walk-cycle that is not a loop.
I strongly suggest that you read the previous tutorial, Cycling the Skis, because all the theory about the animation of skis is there. Here we will only see the animation.
Download here a new database
PAGE ONE - Initial setup - Roughing out the body translation - Moving the skis - Refining the heel paths
1- Initial setup
Load in Softimage|3D the scene rig_final, from the database you just downloaded. This is the same scene as the one we used in the previous tutorial.
We will animate this cycle over 8 steps, using the same timing as the cycle tutorial. In this last tutorial we did 2 steps over 40 frames, so now we will use 160 frames. In the end frame entry of the timeline, put 159.
2- Roughing out the body translation
To move the character over space we will animate CUBE. So branch-select it, and put a translation keyframe on frame 0, by doing Motion > SaveKey > Objects > Tranlation.
Go to frame 159, and move CUBE on Z positive axis. Put the character to completely extend the character's legs, like the image below:
Save a translation keyframe by clicking with MMB on the SaveKey cell.
You can see that we have a new path. Currently the path has the lenght of one step. It will help us find out the total distance the character will travel over 160 frames.
Select the new path (you can find this path under GOD, in the Schematic View). Duplicate the path by doing Duplicate > Immediate. Translate this path on Z positive axis to make it touch the first path. Take note of the translation value. In my example, it is 7.3275.
Delete this path, select
the first one, and do Duplicate > Repetition.
For the Number of occurences write 7 (we have 8 steps, with one already determined), and in the Translation Z space write the value you noted (in my example, 7.3275).
So now we have the total lenght of the walk cycle.
Reselect again the first path, switch to TAG mode, select the point that is at frame 159, and translite it to fit it on the end of the duplicated paths.
Deselect this path and
delete the ones we duplicated.
If you go to frame 159, you will see that CUBE is very far forward, the legs and feet are completely extended towards the skis, since these didn't move. Don't bother with this now, as we will arrange this soon.
Name this path CUBE_trans, and make it red.
Select CUBE, and do Motion > FcrvSelect > Object > Translation. You can see that the translation function curve has an ease-in and ease-out. For now we want a regular translation so we will put the curve linear. Select the function curve, click on INTERP (Fcurve top bar) and click with MMB on each point.
3- Moving the skis
We will now animate the
Select heel_R, the right heel green circle. Translate it to make it in front of the body, to make the leg almost fully extended, but not completely. Save a translation keyframe at frame 0.
Copy this keyframe to frame 20. To copy a keyframe, just click with RMB on the timeslider, move it the frame you want, and save a keyframe.
You can see on the image above that the right let is not fully fully extended. It should be. So now we will readjust the lenght of CUBE_trans, the path we created when we translated CUBE. Select CUBE_trans, switch to TAG mode, and translate the last point (the one at the left) on Z positive until the leg becomes fully extended.
Select heel_R, and go to frame 40. Place heel_R to make the right foot in front. Save a translation keyframe.
Copy this keyframe to frame
For now on the procedure is the same: At frames 80, 120 and 159, put the right feet in front, with the leg near-fully extended. Copy the keyframe that is at frame 80 to 100, and the one that is at frame 120 to frame 140.
Now we will do the other
Select heel_L, the left heel green circle. Go to frame 0. Place the foot behind the character, with the leg fully extended. Save a translation keyframe.
Go to frame 20, and translate
heel_L on Z positive axis to place the left foot
in front, with the leg near-fully extended.
Save a translation keyframe.
Copy this keyframe to frame
For now on the procedure is the same. At frames 60, 100, and 140, the left foot is in front. Those keyframes should be copied to frames 80, 120 and 159.
Now, if you playback the
animation, you will see that the feet slide on the ground. This is becase we
need to make the translation function curves linear.
Multi-select the two heel circles, and do FcrvSelect > Object > Translation. You should have something like this:
You can see that there
are easy-ins and easy-outs everywhere, thus making the foot slide on the ground.
First, select both function curves and click on LIN to make them linear.
If you look closely, you will see that the regions where the foot is on the ground are still not horizontal. They must be horizontal if we want the foo to "stick" to the ground. In other words, the keyframes that form "plateaus" must have the same value.
We will proceed on an individual basis. Zoom-in, select the second keyframe of the first "plateau", and translate it on Y axis to make it at the same height as the first plateau keyframe.
If you want better control,
click on SETKEY, then click on the plateau's first keyframe. This will pop up
a window. In the right field, you will see a value. Remember this value. Click
on next, and replace the current value with the one I told you to remember.
Then click on Modify to validate the change.
Click Next, note the value, click on next, write the value, and so on.
Do the same for the other function curve.
Now, if you playback the animation, the feet stick on the ground.
Change the names of the paths the following way: The path for heel_R to heelR_path and the path for heel_L to heelL_path. I suggest that you change their color for easier workflow.
4- Refining the heel paths
The feet stick on the ground, but in fact they do not lift off! So will now arrange this.
Select both heelR_path
and heelL_path, the heel paths. Do Model > Effect > Convert.
Now, select only heelR_path, and tag all the points. The only purpose of tagging the points is to differenciate them from the points we are going to add.
Do Model > Edit > Add Point. Click with MMB between each tagged point to add a point.
We will now readjust the points. Invert the tag selection (drag a selection rectangle around the path with RMB), and translate ion Y positive the newly created points.
Turn on the lines (Show > Lines). This will display the point bézier handles. Adjust them with the M supra key to make smooth hills. On the image below I exagerated the elevation to show you my point. Do not make the elevation that high!
Still with the M key, we will now pull out the bézier handles for the points that are on the ground. To break the handle slopes, do Info > Selection. You will browse through the points by clicking on Previous and Next. To break a slope, check C0 (discontinuity) at the bottom section on the desired points. You will see in the viewport that the handles turn light blue. When you are finished click OK and adjust the handles with the M key.
Do the same for the other path.
Next: Fune-tuning translations - Skis rotations - CUBE's movements - Conclusion