| name | dive-forward |
| description | Dives forward through the air and lands prone with the arms extended, via a sequence with a root.y arc and forward root.z. Use when a command mentions dive forward, dive on the ground, belly dive, layout dive, or dive to catch something. |
| category | locomotion |
| disable-model-invocation | true |
| subskills | ["move-arm","move-torso","move-leg"] |
dive-forward
Push off, fly forward with the body laid out and arms extended, and land low and prone.
Composes: move-arm + move-torso + move-leg
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: push off (crouch), flight horizontal (arms forward, legs back,
root.y0.3, z), land prone low (Spine+X80, root.y~-0.45).
durationMs ~1200.
Example
- "dive forward" ->
{"durationMs":1200,"say":"Diving!","sequence":{"loop":false,"frames":[{"t":0,"pose":{"LeftUpLeg":[50,0,0],"LeftLeg":[80,0,0],"RightUpLeg":[50,0,0],"RightLeg":[80,0,0]},"root":{"y":-0.2,"z":0}},{"t":0.5,"pose":{"Spine":[60,0,0],"LeftUpperArm":[150,0,90],"RightUpperArm":[150,0,-90],"LeftUpLeg":[-20,0,0],"RightUpLeg":[-20,0,0]},"root":{"y":0.3,"z":1}},{"t":1,"pose":{"Spine":[80,0,0],"LeftUpperArm":[150,0,90],"RightUpperArm":[150,0,-90],"LeftUpLeg":[-25,0,0],"RightUpLeg":[-25,0,0]},"root":{"y":-0.45,"z":1.8}}]}}
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.