Stand up
Standing up in the game cycles: the last third of sitting, leaning forward over the feet and pushing up from the ground, a chair or a ledge, back to an ordinary standing pose.

Use it in a cartoonOpen it in the block editorThe pack file (JSON)
What it is for
Stand up is the stand-up of the nine game cycles, the last third of sitting (sit down, sit, stand up): a game plays it the moment a character leaves a sit, leaning forward over its feet and pushing itself back up, from the ground, a chair or a ledge, by the same on setting as Sit down and Sit.
The principle it shows: arcs
Rising out of a sit uses the same mechanism sitting down does: the body's own position is worked out every frame from the hips' and knees' own angles, not drawn separately, so the push upward traces a natural arc rather than the legs and the body drifting apart. The move ends with one more small eased glide back to a perfectly neutral standing pose, the same whichever surface the character stood up from, so every version of this move lands on exactly the same standing shape.
The program, line by line
settings: h = 540, leg = 0.24, on = 0
when it starts
show the side view
if (on == 0):
set hips 20, left leg 85, right leg 85, left shin 75, right shin 75, left foot -30, right foot -30, dx (-h*leg/2*(sin((105)*pi/180) + sin(((105) - (75))*pi/180))), dy (h*leg/2*(2 - cos((105)*pi/180) - cos(((105) - (75))*pi/180))), torso -14, left arm 34, right arm 34, left forearm 30, right forearm 30
if (on == 1):
set hips 24, left leg 64, right leg 64, left shin 88, right shin 88, left foot 0, right foot 0, dx (-h*leg/2*(sin((88)*pi/180) + sin(((88) - (88))*pi/180))), dy (h*leg/2*(2 - cos((88)*pi/180) - cos(((88) - (88))*pi/180))), torso -22, left arm 30, right arm 30, left forearm 40, right forearm 40
if (on == 2):
set hips 24, left leg 64, right leg 64, left shin 88, right shin 88, left foot 0, right foot 0, dx (-h*leg/2*(sin((88)*pi/180) + sin(((88) - (88))*pi/180))), dy 0, torso -22, left arm 22, right arm 22, left forearm 30, right forearm 30
if (on == 0):
at the same time:
— 1:
glide hips 8, left leg 16, right leg 16, left shin 40, right shin 40, left foot 16, right foot 16, torso -20, left arm 45, right arm 45, left forearm 10, right forearm 10 over 0.5 s (smooth)
— 2:
set dx 0, dy 0
for 0.5 s:
dy follows (h*leg/2*(2 - cos(((105 + -81*smoothstep(min(local/0.5, 1))))*pi/180) - cos((((105 + -81*smoothstep(min(local/0.5, 1)))) - ((75 + -35*smoothstep(min(local/0.5, 1)))))*pi/180)))
dx follows (-h*leg/2*(sin(((105 + -81*smoothstep(min(local/0.5, 1))))*pi/180) + sin((((105 + -81*smoothstep(min(local/0.5, 1)))) - ((75 + -35*smoothstep(min(local/0.5, 1)))))*pi/180)))
set dx (-h*leg/2*(sin((24)*pi/180) + sin(((24) - (40))*pi/180))), dy (h*leg/2*(2 - cos((24)*pi/180) - cos(((24) - (40))*pi/180)))
if (on == 1):
at the same time:
— 1:
glide hips 8, left leg 16, right leg 16, left shin 40, right shin 40, left foot 16, right foot 16, torso -20, left arm 45, right arm 45, left forearm 10, right forearm 10 over 0.5 s (smooth)
— 2:
set dx 0, dy 0
for 0.5 s:
dy follows (h*leg/2*(2 - cos(((88 + -64*smoothstep(min(local/0.5, 1))))*pi/180) - cos((((88 + -64*smoothstep(min(local/0.5, 1)))) - ((88 + -48*smoothstep(min(local/0.5, 1)))))*pi/180)))
dx follows (-h*leg/2*(sin(((88 + -64*smoothstep(min(local/0.5, 1))))*pi/180) + sin((((88 + -64*smoothstep(min(local/0.5, 1)))) - ((88 + -48*smoothstep(min(local/0.5, 1)))))*pi/180)))
set dx (-h*leg/2*(sin((24)*pi/180) + sin(((24) - (40))*pi/180))), dy (h*leg/2*(2 - cos((24)*pi/180) - cos(((24) - (40))*pi/180)))
if (on == 2):
at the same time:
— 1:
glide hips 8, left leg 16, right leg 16, left shin 40, right shin 40, left foot 16, right foot 16, torso -20, left arm 45, right arm 45, left forearm 10, right forearm 10 over 0.5 s (smooth)
— 2:
set dx 0, dy 0
for 0.5 s:
dx follows (-h*leg/2*(sin(((88 + -64*smoothstep(min(local/0.5, 1))))*pi/180) + sin((((88 + -64*smoothstep(min(local/0.5, 1)))) - ((88 + -48*smoothstep(min(local/0.5, 1)))))*pi/180)))
set dx (-h*leg/2*(sin((24)*pi/180) + sin(((24) - (40))*pi/180))), dy 0
at the same time:
— 1:
glide hips 0, left leg 0, right leg 0, left shin 0, right shin 0, left foot 0, right foot 0, torso 0, left arm 0, right arm 0, left forearm 0, right forearm 0 over 0.35 s (out)
— 2:
set dx 0, dy 0
for 0.35 s:
dy follows (h*leg/2*(2 - cos(((24 + -24*sin((min(local/0.35, 1))*pi/2)))*pi/180) - cos((((24 + -24*sin((min(local/0.35, 1))*pi/2))) - ((40 + -40*sin((min(local/0.35, 1))*pi/2))))*pi/180)))
dx follows (-h*leg/2*(sin(((24 + -24*sin((min(local/0.35, 1))*pi/2)))*pi/180) + sin((((24 + -24*sin((min(local/0.35, 1))*pi/2))) - ((40 + -40*sin((min(local/0.35, 1))*pi/2))))*pi/180)))
set dx (-h*leg/2*(sin((0)*pi/180) + sin(((0) - (0))*pi/180))), dy (h*leg/2*(2 - cos((0)*pi/180) - cos(((0) - (0))*pi/180)))show the side view— the move is drawn in profile.if (on == 0): …,if (on == 1): …,if (on == 2): …— the move starts by setting the character to whichever seated pose it is standing up from, ground, chair or ledge, the same poses Sit holds.if (on == 0): at the same time: …— rising from the ground: the hips, legs and shins ease most of the way up, the torso leaning forward and the arms coming up for balance, over 0.5 seconds, the body's own position kept in step with the bend.if (on == 1): at the same time: …— the same rise, timed from the chair's own starting angles instead.if (on == 2): at the same time: …— the same rise again, timed from the ledge's starting angles, though this time only the body's sideways position is kept in step, since the hips were already up rather than down at the seat.at the same time:— a last small ease, over 0.35 seconds, from wherever the first rise left the legs all the way to a neutral standing pose, the body's position kept in step to the very end.set dx …, dy …— locks the body to its ordinary standing position.
Written out in full, exactly as the engine prints them:
-h*leg/2*(sin((105)*pi/180) + sin(((105) - (75))*pi/180))
h*leg/2*(2 - cos((105)*pi/180) - cos(((105) - (75))*pi/180))
-h*leg/2*(sin((88)*pi/180) + sin(((88) - (88))*pi/180))
h*leg/2*(2 - cos((88)*pi/180) - cos(((88) - (88))*pi/180))
h*leg/2*(2 - cos(((105 + -81*smoothstep(min(local/0.5, 1))))*pi/180) - cos((((105 + -81*smoothstep(min(local/0.5, 1)))) - ((75 + -35*smoothstep(min(local/0.5, 1)))))*pi/180))
-h*leg/2*(sin(((105 + -81*smoothstep(min(local/0.5, 1))))*pi/180) + sin((((105 + -81*smoothstep(min(local/0.5, 1)))) - ((75 + -35*smoothstep(min(local/0.5, 1)))))*pi/180))
-h*leg/2*(sin((24)*pi/180) + sin(((24) - (40))*pi/180))
h*leg/2*(2 - cos((24)*pi/180) - cos(((24) - (40))*pi/180))
h*leg/2*(2 - cos(((88 + -64*smoothstep(min(local/0.5, 1))))*pi/180) - cos((((88 + -64*smoothstep(min(local/0.5, 1)))) - ((88 + -48*smoothstep(min(local/0.5, 1)))))*pi/180))
-h*leg/2*(sin(((88 + -64*smoothstep(min(local/0.5, 1))))*pi/180) + sin((((88 + -64*smoothstep(min(local/0.5, 1)))) - ((88 + -48*smoothstep(min(local/0.5, 1)))))*pi/180))
h*leg/2*(2 - cos(((24 + -24*sin((min(local/0.35, 1))*pi/2)))*pi/180) - cos((((24 + -24*sin((min(local/0.35, 1))*pi/2))) - ((40 + -40*sin((min(local/0.35, 1))*pi/2))))*pi/180))
-h*leg/2*(sin(((24 + -24*sin((min(local/0.35, 1))*pi/2)))*pi/180) + sin((((24 + -24*sin((min(local/0.35, 1))*pi/2))) - ((40 + -40*sin((min(local/0.35, 1))*pi/2))))*pi/180))
-h*leg/2*(sin((0)*pi/180) + sin(((0) - (0))*pi/180))
h*leg/2*(2 - cos((0)*pi/180) - cos(((0) - (0))*pi/180))Try this
Stand up from a chair instead of the ground (on 1 instead of 0). The starting bend is the chair's own, 64 and 88 degrees at the hips and knees, instead of the ground's 85 and 75, before the same push back to standing plays.
In the program:
params.on0→1Stand up from a ledge instead (on 2 instead of 0). The legs start at the chair-like bend again, but this time the hips were never down at the ledge's own height, so the rise starts from a seated pose whose hips are already up.
In the program:
params.on0→2
How it differs from Sit down and Sit
Sit down is this move's mirror, the same arcs run the other way into a sit. Sit is the pose this move leaves behind: a long, held loop rather than a motion toward anything.
Works on
| Body | Moves? | What moves |
|---|---|---|
| 2 legs (a person) | yes | whole body, turns, body, head, arms, legs |
| 4 legs (a dog) | yes | whole body, body, head, front legs, back legs, tail, ears |
| no legs (the monster with no legs) | yes | whole body, turns, body, arms, tail, ears |