| name | bend-knees |
| description | Atomic "load" primitive — flexes BOTH hips and knees together and drops the body straight down (a small dip), keeping the torso upright and feet planted. Use as the lowering building block for squatting, crouching, jumping prep, dodging, or sitting onto something. Mentions bend your knees, bend knees, dip, lower yourself, load the legs, get low. |
| category | lower-body |
| disable-model-invocation | true |
bend-knees
Focused single-primitive slice of the leg chain: symmetric hip + knee flexion
with a matching root.y drop so the feet stay planted. For full per-joint control
(one leg, kicks, ankles, abduction) see the chain atomic move-leg; for the
center-of-mass rule see balance-and-posture.
Joints: LeftUpLeg,LeftLeg,RightUpLeg,RightLeg (+ root.y). Angles are
ABSOLUTE local euler [x,y,z] deg. UpLeg X = hip flex (thigh forward),
Leg X = knee bend; keep both legs symmetric.
Depths (UpLeg X / Leg X / root.y)
- shallow dip:
[25,0,0] / [35,0,0] / -0.12
- half / standard knee-bend:
[40,0,0] / [55,0,0] / -0.22
- deep:
[60,0,0] / [80,0,0] / -0.40 (see deep-squat)
- stand (undo):
UpLeg:[0,0,180],Leg:[0,0,0], root.y:0
Worked Actions
- "bend your knees" →
{"durationMs":600,"pose":{"LeftUpLeg":[40,0,0],"LeftLeg":[55,0,0],"RightUpLeg":[40,0,0],"RightLeg":[55,0,0]},"root":{"y":-0.22},"say":"Getting low."}
- "dip down a little" →
{"durationMs":500,"pose":{"LeftUpLeg":[25,0,0],"LeftLeg":[35,0,0],"RightUpLeg":[25,0,0],"RightLeg":[35,0,0]},"root":{"y":-0.12}}
Limits & posture
Knees flex one way only (Leg X 0..150, never negative). Keep it symmetric and
drop root.y to match so feet don't clip the floor (see balance-and-posture).