Stand up (seen from the front)
Standing up drawn facing the camera: the character rises from the ground, a chair or a ledge back to an ordinary standing pose, for a game that shows its character from the front.

Use it in a cartoonOpen it in the block editorThe pack file (JSON)
What it is for
Stand up (seen from the front) is Stand up drawn facing the camera instead of in profile, for a game that shows its character from the front. It rises out of the pose Sit (seen from the front) holds, from the ground, a chair or a ledge, ending at the same neutral standing pose every time.
The principle it shows: arcs
The rise uses the same mechanism as the side view's stand-up: the body's own height is worked out from the legs' bending angles as they straighten, rather than drawn separately, so the push upward still traces a natural arc. Because a front view has no knee-fold to tell the ground, the chair and the ledge apart, the rise starts from the same pose and plays the same way regardless of which surface the character is meant to be standing up from.
The program, line by line
settings: h = 540, leg = 0.24, on = 0
when it starts
show the front view
if (on == 0):
set left leg 85, right leg 85, left shin 0, right shin 0, left foot 0, right foot 0, left arm 16, right arm 16, left forearm 20, right forearm 20, dy (h*leg/2*(2 - cos((85)*pi/180) - cos((0)*pi/180) + 0.55*sin((0)*pi/180)))
if (on == 1):
set left leg 85, right leg 85, left shin 0, right shin 0, left foot 0, right foot 0, left arm 16, right arm 16, left forearm 20, right forearm 20, dy (h*leg/2*(2 - cos((85)*pi/180) - cos((0)*pi/180) + 0.55*sin((0)*pi/180)))
if (on == 2):
set left leg 85, right leg 85, left shin 0, right shin 0, left foot 0, right foot 0, left arm 16, right arm 16, left forearm 20, right forearm 20, dy (h*leg/2*(2 - cos((85)*pi/180) - cos((0)*pi/180) + 0.55*sin((0)*pi/180)))
if (on == 0):
at the same time:
— 1:
glide left leg 30, right leg 30, left shin 30, right shin 30, left foot 0, right foot 0, left arm 30, right arm 30, left forearm 10, right forearm 10 over 0.5 s (smooth)
— 2:
set dy 0
for 0.5 s:
dy follows (h*leg/2*(2 - cos(((85 + -55*smoothstep(min(local/0.5, 1))))*pi/180) - cos(((0 + 30*smoothstep(min(local/0.5, 1))))*pi/180) + 0.55*sin(((0 + 30*smoothstep(min(local/0.5, 1))))*pi/180)))
set dy (h*leg/2*(2 - cos((30)*pi/180) - cos((30)*pi/180) + 0.55*sin((30)*pi/180)))
if (on == 1):
at the same time:
— 1:
glide left leg 30, right leg 30, left shin 30, right shin 30, left foot 0, right foot 0, left arm 30, right arm 30, left forearm 10, right forearm 10 over 0.5 s (smooth)
— 2:
set dy 0
for 0.5 s:
dy follows (h*leg/2*(2 - cos(((85 + -55*smoothstep(min(local/0.5, 1))))*pi/180) - cos(((0 + 30*smoothstep(min(local/0.5, 1))))*pi/180) + 0.55*sin(((0 + 30*smoothstep(min(local/0.5, 1))))*pi/180)))
set dy (h*leg/2*(2 - cos((30)*pi/180) - cos((30)*pi/180) + 0.55*sin((30)*pi/180)))
if (on == 2):
at the same time:
— 1:
glide left leg 30, right leg 30, left shin 30, right shin 30, left foot 0, right foot 0, left arm 30, right arm 30, left forearm 10, right forearm 10 over 0.5 s (smooth)
— 2:
set dy 0
for 0.5 s:
dy follows (h*leg/2*(2 - cos(((85 + -55*smoothstep(min(local/0.5, 1))))*pi/180) - cos(((0 + 30*smoothstep(min(local/0.5, 1))))*pi/180) + 0.55*sin(((0 + 30*smoothstep(min(local/0.5, 1))))*pi/180)))
set dy (h*leg/2*(2 - cos((30)*pi/180) - cos((30)*pi/180) + 0.55*sin((30)*pi/180)))
at the same time:
— 1:
glide left leg 0, right leg 0, left shin 0, right shin 0, left foot 0, right foot 0, left arm 0, right arm 0, left forearm 0, right forearm 0 over 0.35 s (out)
— 2:
set dy 0
for 0.35 s:
dy follows (h*leg/2*(2 - cos(((30 + -30*sin((min(local/0.35, 1))*pi/2)))*pi/180) - cos(((30 + -30*sin((min(local/0.35, 1))*pi/2)))*pi/180) + 0.55*sin(((30 + -30*sin((min(local/0.35, 1))*pi/2)))*pi/180)))
set dy (h*leg/2*(2 - cos((0)*pi/180) - cos((0)*pi/180) + 0.55*sin((0)*pi/180)))show the front view— the move is drawn facing the camera.if (on == 0): …,if (on == 1): …,if (on == 2): …— the move starts by setting the character to the seated pose, the same one Sit (seen from the front) holds.if (on == 0): at the same time: …,if (on == 1): …,if (on == 2): …— the rise itself: both legs ease from fully bent toward 30 degrees, the arms coming forward for balance, over 0.5 seconds, the body's height kept in step with the bend.at the same time:— a last ease, over 0.35 seconds, from wherever the rise left the legs all the way to a neutral standing pose, the body's height kept in step to the end.set dy …— locks the body to its ordinary standing height.
Written out in full, exactly as the engine prints them:
h*leg/2*(2 - cos((85)*pi/180) - cos((0)*pi/180) + 0.55*sin((0)*pi/180))
h*leg/2*(2 - cos(((85 + -55*smoothstep(min(local/0.5, 1))))*pi/180) - cos(((0 + 30*smoothstep(min(local/0.5, 1))))*pi/180) + 0.55*sin(((0 + 30*smoothstep(min(local/0.5, 1))))*pi/180))
h*leg/2*(2 - cos((30)*pi/180) - cos((30)*pi/180) + 0.55*sin((30)*pi/180))
h*leg/2*(2 - cos(((30 + -30*sin((min(local/0.35, 1))*pi/2)))*pi/180) - cos(((30 + -30*sin((min(local/0.35, 1))*pi/2)))*pi/180) + 0.55*sin(((30 + -30*sin((min(local/0.35, 1))*pi/2)))*pi/180))
h*leg/2*(2 - cos((0)*pi/180) - cos((0)*pi/180) + 0.55*sin((0)*pi/180))Try this
Take 0.8 seconds for the rise instead of 0.5. The stand-up becomes a slower, more deliberate push rather than a quick one.
In the program:
ramp · over0.5→0.8End the move with the left arm still raised 60 degrees instead of back at the side. The character finishes standing with one arm held up, rather than fully at rest.
In the program:
ramp · to.part:arm:-10→60
How it differs from Stand up and Sit (seen from the front)
Stand up is the same motion drawn in profile, where the on setting genuinely changes the rise for the ground, a chair and a ledge. Sit (seen from the front) is the pose this move leaves behind.
Works on
| Body | Moves? | What moves |
|---|---|---|
| 2 legs (a person) | yes | whole body, arms, legs |
| 4 legs (a dog) | yes | whole body, turns, front legs, back legs |
| no legs (the monster with no legs) | yes | whole body, arms |