| name | double-hop |
| description | Performs two quick consecutive two-footed hops forward, via a sequence with two root.y arcs. Use when a command mentions double hop, two quick hops, hop-hop forward, or bounce twice. |
| category | locomotion |
| disable-model-invocation | true |
| subskills | ["bend-knees","move-leg"] |
double-hop
Two back-to-back little hops that travel a bit forward.
Composes: bend-knees + 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.
- Two arcs: crouch → hop → land → hop → land,
z growing each hop.
durationMs ~1100.
Example
- "do a double hop" ->
{"durationMs":1100,"say":"Hop hop!","sequence":{"loop":false,"frames":[{"t":0,"pose":{"LeftUpLeg":[35,0,0],"LeftLeg":[50,0,0],"RightUpLeg":[35,0,0],"RightLeg":[50,0,0]},"root":{"y":-0.12,"z":0}},{"t":0.25,"pose":{"LeftUpLeg":[20,0,0],"RightUpLeg":[20,0,0]},"root":{"y":0.3,"z":0.3}},{"t":0.5,"pose":{"LeftUpLeg":[35,0,0],"LeftLeg":[50,0,0],"RightUpLeg":[35,0,0],"RightLeg":[50,0,0]},"root":{"y":0,"z":0.5}},{"t":0.75,"pose":{"LeftUpLeg":[20,0,0],"RightUpLeg":[20,0,0]},"root":{"y":0.3,"z":0.8}},{"t":1,"pose":{"LeftUpLeg":[0,0,180],"LeftLeg":[0,0,0],"RightUpLeg":[0,0,180],"RightLeg":[0,0,0]},"root":{"y":0,"z":1}}]}}
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.