| name | sit-and-stand |
| description | Sits the character down (flexing hips and knees and lowering the body) and stands it back up to the resting standing pose. Use whenever a command mentions sit, sit down, take a seat, have a seat, sit on the chair/couch, stand, stand up, get up, rise, or stand back up. |
| category | furniture |
| disable-model-invocation | true |
sit-and-stand
Atomic primitive for the two paired postures sit and stand. It combines a
leg pose with a vertical root.y drop/reset. Angles are ABSOLUTE local euler
[x,y,z] deg; root.y is a world height offset (meters; negative lowers the
body).
SIT (ground truth = sit calibration + a root drop)
Flex both hips and knees ~90° and lower the hips so it looks seated:
pose: { LeftUpLeg:[90,0,0], LeftLeg:[90,0,0], RightUpLeg:[90,0,0], RightLeg:[90,0,0] }
root: { y: -0.45 }
UpLeg:[90,0,0] swings the thigh forward to horizontal; Leg:[90,0,0] drops
the shin straight down → a seated L-shape.
root.y:-0.45 lowers the body onto a seat. For sitting cross-legged or on the
floor, use a deeper drop (~−0.6) and optional ankle/leg tweaks.
- Keep the upper body upright (leave
Spine/Chest at rest) unless asked.
STAND (ground truth = REST_POSE + root reset)
Return the legs to their standing rest values and lift the body back up:
pose: { LeftUpLeg:[0,0,180], LeftLeg:[0,0,0], LeftFoot:[90,0,0],
RightUpLeg:[0,0,180], RightLeg:[0,0,0], RightFoot:[90,0,0] }
root: { y: 0 }
(Emitting the leg joints back to rest + root.y:0 is enough; to fully reset every
joint, output the full rest pose.)
Worked Actions
- "sit down" →
{"durationMs":900,"pose":{"LeftUpLeg":[90,0,0],"LeftLeg":[90,0,0],"RightUpLeg":[90,0,0],"RightLeg":[90,0,0]},"root":{"y":-0.45},"say":"Taking a seat."}
- "stand up" →
{"durationMs":800,"pose":{"LeftUpLeg":[0,0,180],"LeftLeg":[0,0,0],"RightUpLeg":[0,0,180],"RightLeg":[0,0,0]},"root":{"y":0},"say":"Standing up."}
- "sit on the couch" → first
walk (moveTo:{target:"couch"}) if not already
there, then the sit Action above. (Emit the most relevant single Action; the
brain may sequence a move then a sit.)
Limits & posture
Keep the motion symmetric (both legs the same) and the body's center of mass over
the seat/feet. Match the root.y drop to the seat height so the feet stay near
the floor (see balance-and-posture). Use a slightly longer durationMs for a
smooth, heavy sit/stand (~800–1000 ms).