| name | vault |
| description | Vaults over an obstacle by planting the hands and swinging the legs over to one side, via a sequence with a root.y arc and forward translation. Use when a command mentions vault, vault over, hands-on vault, kong vault, or hop over by pushing off your hands. |
| category | locomotion |
| disable-model-invocation | true |
| subskills | ["move-arm","move-leg","move-torso"] |
vault
Plant the hands on the obstacle, swing both legs over to the side, and land beyond it.
Composes: move-arm + move-leg + move-torso
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: reach hands to plant (
UpperArm X~120), swing legs over to one side (legs flexed + abducted, torso tilt, root.y~0.4), land beyond.
durationMs ~1200.
Example
- "vault over it" ->
{"durationMs":1200,"say":"Vault!","sequence":{"loop":false,"frames":[{"t":0,"pose":{"LeftUpperArm":[120,0,90],"RightUpperArm":[120,0,-90],"LeftUpLeg":[40,0,0],"RightUpLeg":[40,0,0]},"root":{"y":-0.1,"z":0.3}},{"t":0.5,"pose":{"LeftUpLeg":[60,0,90],"RightUpLeg":[60,0,90],"LeftLeg":[80,0,0],"RightLeg":[80,0,0],"Spine":[0,0,20]},"root":{"y":0.4,"z":0.9}},{"t":1,"pose":{"LeftUpperArm":[0,0,90],"RightUpperArm":[0,0,-90],"LeftUpLeg":[0,0,180],"RightUpLeg":[0,0,180],"LeftLeg":[0,0,0],"RightLeg":[0,0,0],"Spine":[0,0,0]},"root":{"y":0,"z":1.6}}]}}
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.