Now that the motion is possible and can be controlled as a point traveling on a predetermined path on the terrain, the logical next stage was to work on the stepping motion.
To achieve this, it was necessary to have the control point of the tips/feet copied onto the moving point and having another copy at the start of the motion, but static. The first copy follows the motion of the original moving point along the path and the second one acts as a rest position.
Next, the distance between the moving points and the rest points is measured in each frame. If the distance is larger than a user-defined threshold (step size), the static rest position gets updated and assumes the last position of the moving point at that frame. This happens to each limb tip control point.
Demonstration of the Aforementioned Process
This results in points “jumping” from position to position, determining the step locations. With these key positions determined, it’s simple to interpolate from one to the other by creating a variable to blend within them. Creating the variable can be divided into two steps:
1. Taking the distance measured and fitting it from zero to the arbitrary step size, to zero to one. With this, a normalized variable is obtained.
2. Now it gets shaped by processing it through a channel ramp function in VEX. This permits to be able to art direct the motion of each step.
And finally, using the same logic, the Y component of the motion can be easily shaped as well. It’s worth noting that the motion has to be broken down into the XZ components of the motion for the translation across the environment, and the Y component for the stride.
The result of this process is stepping points that follow the predetermined path and even account for rotations along the path, allowing for a more realistic motion.
Stepping Points Following a Path
With the control points following the motion correctly, the next step is to feed them as the control points of the previously built IK rigs for the creatures.
Prototype Showing this Implementation
After that, the illusion of locomotion is created. The natural next steps are to implement this system into both the creatures’ HDAs and run tests on them as well as creating user-friendly controllers to allow for user input and art direction.
To me, it’s been an incredible personal achievement to have been able to accomplish this motion through creativity, research, and studying of other types of setups. I have to mention Matt Estela, Jose L. Molfino, and Junichiro Horikawa as huge sources of information and inspiration for making this particular step happen.