In this demo, you'll see the character movement and animation system in action.
The movement system contains two main systems working together: One controls the behavior of four simple physically simulated bodies; the other aligns the character to those bodies, and determines which animation clips should play. It is a simplified version of the actual physical dynamics behind the way humans move.
The movement is largely controlled by two simulated capsules held together and oriented by scriptable forces. The upper capsule representing the torso, the lower capsule representing the legs.
Balance keeps the capsules upright, with the center of gravity between the feet.
Leaning causes the capsules to offset their center of gravity to one side, leading to a controlled fall in that direction.
Simulated Feet at the bottom of the lower capsule then move underneath and catch the fall, prolonging the lean. This creates a perpetual cycle of leaning and the feet moving under the lean, thus causing movement in that direction.
Traction Sensors continuously analyze the surfaces the feet are in contact with for traction. The more traction is detected, the more agile the feet will be in balancing and pushing in the desired direction of travel.
Desired Velocity is used as an input for components like leaning and traction. For example, the body will lean in the direction you want to travel; the faster you want to go in that direction, the greater the lean will be. For another example, depending on the surface you are walking on, the traction sensors will determine that it is easier to walk in one direction than another; which direction you want to go is important.