Gensprite

Animating

Motion sentences, the gutter, and why consistency is yours to keep.

The Animate bench takes a full four-side turnaround — front, right, back, left, all four, no substitutes — plus a sentence describing the motion, and returns a looping cycle as individual PNG frames per direction.

What goes in

The four sides a Four sides rotation produces are exactly the four this bench requires; run one first and pull its outputs straight from the parts bin. Partial sets and diagonal views are refused before anything is charged.

Describe the motion the way you described the character: plainly, and about the movement rather than the camera —

walking with a heavy, tired stride

The gutter

The four directions are animated together on one shared square and cut apart afterwards. The gutter is the padding around the character inside each cell, as a percentage of the drawing — and it is a trade:

  • More gutter buys room for wide motion — sword swings, long strides, jumps — at the cost of resolution.
  • Less gutter buys pixels. At 0% the cells sit edge to edge, and anything drawn past a cell's boundary lands in the neighbouring direction's frames: the neighbour gains a sword tip, the swing loses one, and every frame still looks complete. Keep 0% for motions that stay inside the silhouette, if at all.

The character comes back at round(480 / (1 + 2·gutter/100)) pixels per direction: 480px at 0%, 240px at the default 50%, 160px at 100%.

One character, one gutter, the same files

Two animations of one character line up in your engine only if every job was given the same four drawings and the same gutter. This cannot be enforced server-side — each job sees one animation and has never heard of the others — so it is yours to keep, and breaking it fails silently: a walk made at 50 and an idle at 100 both look perfect here, come back at 240px and 160px, and the discovery happens later, in the engine, with both already imported.

"The same drawings" means the same files, not the same character. The output size is computed from the drawing's canvas, so a re-cropped copy or a freshly regenerated lookalike changes the scale even at an identical gutter. Reuse the exact rotation outputs from the parts bin every time.

What comes out

One PNG per frame per direction, foldered and numbered — front/frame_0001.png — in a single zip. Frame counts vary between generations: the loop is discovered, not imposed, so one cycle may be 14 frames and the next 23. Read the file list as the manifest rather than assuming a count.

The frames carry no frame rate — that is your engine's decision. The workshop's own preview plays at 24 fps, which is a sensible starting point.

One honest caveat: completed means the pipeline ran, not that the motion is good. If a cycle comes back unusable, keep the job id and write to hello@gensprite.ai.

On this page