Builtin Library
README.md
Locomotion
Blend-space-driven locomotion for entities running the
characterController package. Reads horizontal velocity from a sibling
MovementState (or, as a fallback, CharacterController) component
on the parent and feeds a single 2D blend space (strafe-angle on X,
speed on Y) with idle / walk-{F,L,R,B} / run-{F,L,R,B} / sprintF
clips. Each clip's point sits at the speed the clip carries this body
at: its retarget bake measures how fast the ground passes under the
stance foot on this body's legs, so the feet move with the ground at
whatever speed the body moves. A clip that plays without a measured
speed sits at its gait's walkSpeed / runSpeed / sprintSpeed.
Pair on the same entity (or a parent of) a SkinnedModel. The
component creates the AnimGraph, polls for the SkinnedModel child
once start() has run, registers the clips as blend-space points and
plays the graph. update() damps speed + angle and writes them to
the active blend space each frame.
This supersedes the older FSM-based Locomotion controllers (crouch / jump / fall / land / turn-in-place state machine). Those behaviours can be added back as separate layered graphs once the blend-space driver has settled.