Sit down (short legs)

Settling down for the short-legged upright animal: the legs fold completely under rather than bending at a hip and a knee the long way, the tail swinging out behind and the paws resting exactly where they stood.

A cartoon person and a dog lowering down onto folded legs, tail swung out behind.

Use it in a cartoonOpen it in the block editorThe pack file (JSON)

What it is for

Sit down (short legs) is the sit-down of the nine game cycles, written for the hop set: the upright animal whose legs are too short to sit the way the long-legged set does. This body settles on folded legs, and it only has a ground version to settle onto, with no chair or ledge version: a body this short folds down rather than perching.

The principle it shows: arcs

The same cosine geometry that keeps a long-legged sit-down's feet planted keeps this one's paws planted too, worked out from the exact same formula with the body's own, much shorter leg length. Because the legs fold almost completely, 46 degrees at the hip and 92 at the knee rather than the long-legged sit's 85 and 75, the arc the body follows down is tighter and quicker, which is what makes the motion read as settling rather than sitting down the ordinary way.

The program, line by line

settings: h = 540, leg = 0.09, on = 0
when it starts
  show the side view
  at the same time:
    — 1:
      glide hips 0, left leg 46, right leg 46, left shin 92, right shin 92, left foot 46, right foot 46, tail -10, torso -4, left arm 20, right arm 20, left forearm 30, right forearm 30 over 0.7 s (smooth)
    — 2:
      set dx 0, dy 0
      for 0.7 s:
        dy follows (h*leg/2*(2 - cos(((0 + 46*smoothstep(min(local/0.7, 1))))*pi/180) - cos((((0 + 46*smoothstep(min(local/0.7, 1)))) - ((0 + 92*smoothstep(min(local/0.7, 1)))))*pi/180)))
        dx follows (-h*leg/2*(sin(((0 + 46*smoothstep(min(local/0.7, 1))))*pi/180) + sin((((0 + 46*smoothstep(min(local/0.7, 1)))) - ((0 + 92*smoothstep(min(local/0.7, 1)))))*pi/180)))
  set dx (-h*leg/2*(sin((46)*pi/180) + sin(((46) - (92))*pi/180))), dy (h*leg/2*(2 - cos((46)*pi/180) - cos(((46) - (92))*pi/180)))

Written out in full, exactly as the engine prints them:

h*leg/2*(2 - cos(((0 + 46*smoothstep(min(local/0.7, 1))))*pi/180) - cos((((0 + 46*smoothstep(min(local/0.7, 1)))) - ((0 + 92*smoothstep(min(local/0.7, 1)))))*pi/180))

-h*leg/2*(sin(((0 + 46*smoothstep(min(local/0.7, 1))))*pi/180) + sin((((0 + 46*smoothstep(min(local/0.7, 1)))) - ((0 + 92*smoothstep(min(local/0.7, 1)))))*pi/180))

-h*leg/2*(sin((46)*pi/180) + sin(((46) - (92))*pi/180))

h*leg/2*(2 - cos((46)*pi/180) - cos(((46) - (92))*pi/180))

Try this

  1. Take 1.2 seconds to settle instead of 0.7. The sit becomes a slow, careful fold instead of a quick one.

    In the program: ramp · over 0.7 → 1.2

  2. Swing the tail 25 degrees back instead of 10. The tail tucks much further in as the body settles.

    In the program: ramp · to.part:tail -10 → -25

How it differs from Sit down and Sit (short legs)

Sit down is the long-legged version, bending at a hip and a knee the ordinary way and offering a chair and a ledge as well as the ground. Sit (short legs) is the held pose this move settles into once it finishes.

Works on

Worked out by the build: it plays the move in the engine on each body and checks what moves on screen. Nobody types this table.
BodyMoves?What moves
2 legs (a person)yeswhole body, turns, body, head, arms, legs
4 legs (a dog)yeswhole body, body, head, front legs, back legs, tail, ears
no legs (the monster with no legs)yeswhole body, turns, body, arms, tail, ears

c4c:beh:sit_down_hop · version 1.0.0 · c4c-free · by Jabbertoon