Browse the knowledge base
5x · Animals and creatures
Skills
- Take any Aseprite request end to end
- Plan a sprite before drawing it
- Design it first — concept sheet and storyboard
- Create a sprite document
- Choose, build and repair a palette
- Draw a sprite
- Shade a sprite
- Rig a character for animation
- Animate a cycle
- Build a tileset
- Review a sprite before calling it done
- Fix or iterate on existing art
- Export game-ready assets
- Submit a finished sprite to the community gallery
Skill
/aseprite:rig Rig a character for animation
Split a character onto named layers — head, torso, arms, legs — so it can be animated by moving cels instead of redrawing pixels. Use before animating anything, or when limbs are baked into one layer.
On this page
Pixels baked into a single layer cannot be animated without redrawing them. Rig first; separating a finished sprite later is more work than building it split.
The standard rig
#Bottom to top, so nearer parts draw over farther ones:
arm-near ← camera-side arm
leg-near
head
torso
arm-far ← partly hidden by the torso; this is what sells depth
leg-far
shadow ← ground contact, if the style has oneAdd weapon, cape, hair-front, hair-back as the design needs. Keep names
stable — every later call refers to them by name.
Two limbs with the same name — arm-near inside two different groups, say —
make later calls ambiguous: passing just the name fails, naming every match,
until you pass a group/child path (e.g. torso/arm-near) instead.
Building it fresh
#One batch, one undo step:
layer batch=[
{op:"create", name:"shadow"},
{op:"create", name:"leg-far"},
{op:"create", name:"arm-far"},
{op:"create", name:"torso"},
{op:"create", name:"head"},
{op:"create", name:"leg-near"},
{op:"create", name:"arm-near"},
]Then draw each part on its own layer from the start.
Splitting an existing sprite
#When the art is already baked into one layer:
sprite_infoto see what you have, andlook op="ascii"to find exact part boundaries. Guessing at coordinates here is how limbs get clipped.- Create the rig layers (above).
- For each part, in one
drawcall per target layer:draw layer="head" ops=[{ kind:"blit", from:{x:12,y:4,width:8,height:8}, to:{x:12,y:4} }]blitcopies from the source layer;skipTransparentkeeps the copy clean. - Clear the copied region from the original layer, or rename the original to
flat-originaland hide it. Prefer hiding — if a boundary was wrong you want the original still there. look op="preview"with the original hidden. The sprite should look unchanged. If a limb lost pixels, the boundary was wrong.
Overlap matters
#A limb needs a pixel or two of overlap with the torso, or a gap appears the moment it rotates. Copy generously and let the stacking order hide the excess.
Then
#aseprite:animate.
Related
#rules://06-layers-and-rigging, rules://03-silhouette-and-form,
rules://31-anatomy-and-pose for where the joints really are.