| name | lateral-bound |
| description | Performs a big explosive lateral bound onto one leg and sticks the landing, keeping facing, via a sequence with a root.y arc and a sideways root.x. Use when a command mentions lateral bound, skater bound, big side jump and stick, or explosive sideways leap onto one leg. |
| category | locomotion |
| disable-model-invocation | true |
| subskills | ["move-leg","shift-weight","balance-and-posture"] |
lateral-bound
Load on one leg, explode sideways through the air, and stick the landing on the other leg. Translate root while OMITTING faceDeg so the heading holds.
Composes: move-leg + shift-weight + 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.
- Load (lean into the push leg), fly (
root.y~0.3, x shifts), stick on the opposite leg (other tucked, lean over support); do NOT set faceDeg.
- Short
durationMs (~1100).
Example
- "do a lateral bound" ->
{"durationMs":1100,"say":"Lateral bound!","sequence":{"loop":false,"frames":[{"t":0,"pose":{"LeftUpLeg":[40,0,150],"LeftLeg":[70,0,0],"Spine":[0,0,10]},"root":{"y":-0.2,"x":0}},{"t":0.5,"pose":{"Spine":[0,0,-8]},"root":{"y":0.3,"x":0.8}},{"t":1,"pose":{"RightUpLeg":[0,0,180],"RightLeg":[0,0,0],"LeftUpLeg":[50,0,0],"LeftLeg":[70,0,0],"Spine":[0,0,-8]},"root":{"y":0,"x":1.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.