#What you'll learn
- How Pixxino stores motion (keys as changes on the rest pose) and what that means for editing.
- How rotation, snapping and outline settings affect the baked pixels.
- The exact layout and JSON fields of the baked sprite sheet, and the rig file format.
- How to move rigs between devices and people, and clips into game engines.
- The limits that matter on large rigs.
#Before you start
- Work through Pixxino — Intermediate: bones, pivots, IK, poses and skins.
- You need a plan that includes Pixxino. Pixxizi helps for engine export.
- Basic comfort with sprite-sheet JSON in your engine.
#How-tos
#How to understand keys and the rest pose
- Every clip key stores a change from the rest pose, not an absolute pose: rotation and position add to the rest values, scale multiplies them.
- So if you lengthen an arm or move a shoulder in Rig mode, every clip picks it up straight away. Fix proportions in Rig mode, never by re-keying every clip.
- Angles use screen coordinates: y points down, and a positive Rotation turns a bone clockwise. A bone points along its own length.
- Part keys (skin, visibility, draw order) are stepped: they hold until the next key and never blend.
#How to choose the pixel-fidelity settings
- In Rig mode, open Pixel fidelity. The same options sit in the top bar (rotation, subpixel, outline).
- RotSprite rotates from an 8× Scale2x copy of each part for clean diagonals. Nearest is the classic hard-edged look. Neither invents colours: every pixel comes from your art.
- Angles that are exact quarter turns use the original pixels directly, so they're always perfect.
- With Subpixel movement off, every part snaps to whole pixels by its pivot, which keeps lines crisp. Turn it on only for slow, smooth motion where slight softness is fine.
- Tick outline to add a 1-pixel outline around the whole assembled character, then pick its colour. It's applied after the parts are put together, so joints never get inner outlines.
#How to read the baked sprite sheet
Sprite sheet PNG + JSON writes name_sheet.png and name_sheet.json. With several clips, each clip gets its own row; a single clip is laid out as a near-square grid.
| Field | Meaning |
|---|---|
| frames | One entry per frame: name (clip_index), animation, x, y, w, h, duration (ms) |
| meta.app, meta.format, meta.version | Pixxino, pixxino-sheet, 1 |
| meta.size | Sheet width and height |
| meta.frame | One frame's width and height, after Scale |
| meta.scale | The export scale (1× to 4×) |
| meta.animations | For each clip name: from, to (frame indexes) and fps |
Every frame is the full Frame width × Frame height canvas, so the rig's Origin sits at the same pixel in every frame: use it as your sprite's pivot in the engine.
#How to move a rig between devices or people
- Cloud → save the rig to your Pixx account. Open it anywhere with Open from cloud…. The cloud copy is a zip with rig.json and the part images.
- Without an account, tick Rig data (rig.json + part PNGs) in Bake & export. The zip gets a rig/ folder you can reopen later with Open rig file… (it takes the .zip, or a .json if the images are already loaded).
- rig.json uses the format pixxino-rig and lists bones (name, parent, x, y, rot, sx, sy, len), parts (bone, image, pivot, offset, rot, z, flipX, visible, opacity, skins), ik, clips and poses. Part images live in parts/, one PNG per part plus one per skin.
- Pixxino also keeps your current rig on this device automatically, so a reload brings it back.
#How to bake IK cleanly
- IK in Pixxino is a two-bone solver: the lower bone must hang from the tip of the upper bone.
- The target is keyed per clip, so the same chain can be on in walk and off in attack.
- Before handing a clip to someone who'll edit it by hand, click Bake → FK: every frame gets plain rotation keys and the chain switches off for that clip.
- Baked keys are ordinary keys: you can change their easing or delete some to simplify.
#Workflows
#Clips into a game engine
- In Bake & export, tick only the clips the engine needs and pick Scale (1× to 4×).
- Download Sprite sheet PNG + JSON. In your engine, read meta.animations to build one animation per clip, using each frame's duration.
- Or send As a sprite sheet to Pixxizi, which packages it with engine-specific import files.
- For hitboxes that follow the motion, send the sheet to Pixxeta first, then on to Pixxizi.
#One rig, many characters
- Build one rig with clean bone names and clips.
- Save it to the cloud, then use Save as a new cloud rig for each character.
- In each copy, Replace image… on every part (pivots stay), or add skins. All clips keep working.
#Team pipeline with Flow
- In Flow, map Pixxivi (parts) → Pixxino (rig + clips) → Pixxeta (hitboxes) → Pixxizi (engine).
- The animator opens the Pixxino step with the parts loaded, and uses Send result to Flow on the Flow chip when a clip is ready.
- If the art changes upstream, Pixxino's step is flagged Needs re-run: swap the images with Replace image… and re-send.
#Tips and shortcuts
- Limits: frames and parts up to 480 × 480, clips up to 240 frames, export Scale 1× to 4×, up to 32 parts from one sheet.
- Undo saves the whole rig each time, so even big changes undo cleanly (Ctrl+Z / Ctrl+Y).
- The flip (⇆) and left-facing clips mirror the finished frame around the Origin, not each part, so asymmetric details stay consistent.
- Sheet PNG only in Bake & export downloads just the image when you only need a quick preview.
- Send to App offers The baked clip (frames) (with its fps and looping), As a sprite sheet, or This pose (image) of the current frame.
#Troubleshooting
- The baked sheet looks different from the stage. Baking uses the rig's rotation, subpixel, outline and facing settings; check them in Pixel fidelity and the top bar.
- Frames are mostly empty space. The frame is the whole Frame width × Frame height canvas. Shrink it in Canvas in Rig mode, leaving room for the widest pose.
- "Opened (images were not in the file)". You opened a rig.json on its own. Open the .zip that has the parts/ folder instead.
- + IK chain is greyed out. It needs the lower bone of a limb, a bone that has a parent. Select the shin or forearm, not the root.
- Diagonal edges look jagged. Switch rotation to RotSprite and keep subpixel off.