Projects hexabase is an ongoing unity package focused on the procedural animation of creatures with legs.
Here's a demo of a creature animated using the tool:
Prodedural_Animation_Demo.mp4
The system is also extensible to different sizes of creatures with different numbers of legs:
Procedural_Animation_Large_Creature_Demo.mp4
The project features an in-engine editor that allows the developer to modify aspects like set-radius, idle-time, and step-curve (parameters explained bellow).
Prodedural_Animation_Parameters.mp4
There are a set of adjustable parameters have the following effects on the resulting animation:
| Parameter | Description |
|---|---|
body |
This is the root bone for the animation. Legs will use inverse-kinematics rooted at this GameObject |
stand radius |
This is the radius of the red circle seen in the video above. If the leg remains within this circle it will remain idle and not take a step. |
step-radius |
This is the radius of the yellow circle seen in the video above. If the leg is outside this radius, it will immediately take a step. |
idle-time |
The amount of time a leg should stay idle within the step-radius before self-centering. |
step-time |
The amount of time each step should take in seconds. This controls the speed of the stepping animation. |
step-curve |
The animation curve of the step. This defaults as a parabola, but any variation on the y-axis with keyframes can be implemented. |
leg-targest |
Use this to define gameobjects to be used as ik targets for legs and targets on the ground for the legs to step towards. The ground targets should be direct children of the body GameObject and the leg targets should be the foot bones in whatever rig you are animating. |
This animation system uses a simple state machine to determine which animation state each leg should be in. A secondary limitation ensures that only one leg-group can be stepping at once.
Currently this project is not in a Unity package. You may use this projects as a template if you wish to use the anmiation tool in this state, however be aware it is a work-in-progress.
