| name | sprint-start |
| description | Explodes out of a crouched sprint start (three-point/blocks stance), driving forward low and accelerating, via a translating sequence. Use when a command mentions sprint start, get out of the blocks, take off running, explode forward, or a three-point start. |
| category | locomotion |
| disable-model-invocation | true |
| subskills | ["move-leg","move-torso","balance-and-posture"] |
sprint-start
From a low loaded set position, drive out with the torso low and the first steps big, rising as speed builds.
Composes: move-leg + move-torso + balance-and-posture
How
- Use a
sequence with loop:false. Frame root is ABSOLUTE; compute the travel axis from state.position+state.faceDeg (0=+Z, 90=+X). The example assumes origin facing +Z.
- Beats: set (torso low
55, one hand down, root.y-0.25), drive (big first step, torso ~35), upright accelerate (z jumps).
durationMs ~1400.
Example
- "sprint start" ->
{"durationMs":1400,"say":"On your marks... go!","sequence":{"loop":false,"frames":[{"t":0,"pose":{"Spine":[55,0,0],"LeftUpperArm":[120,0,90],"RightUpLeg":[40,0,0],"RightLeg":[110,0,0],"LeftUpLeg":[80,0,0],"LeftLeg":[120,0,0]},"root":{"y":-0.25,"z":0}},{"t":0.5,"pose":{"Spine":[35,0,0],"RightUpLeg":[80,0,0],"RightLeg":[60,0,0],"LeftUpLeg":[-20,0,0],"RightForearm":[0,0,90],"LeftForearm":[0,0,-90]},"root":{"y":0,"z":0.8}},{"t":1,"pose":{"Spine":[18,0,0],"LeftUpLeg":[0,0,180],"RightUpLeg":[0,0,180],"LeftLeg":[0,0,0],"RightLeg":[0,0,0],"LeftUpperArm":[0,0,90]},"root":{"y":0,"z":2}}]}}
Limits & posture
Keep ≥1 foot grounded except at a jump's airborne apex; stay inside human joint ranges and keep weight over the support — see balance-and-posture.