WHAT IT DOES
Turn a rigged 3D animation into game-ready sprite frames.
Choose a skinned FBX character with separate textures and animation FBXs, or a self-contained GLB with its materials and clips embedded. Review the motion, then capture frames, one pose from several angles, or a full animation for each direction. Arrange the rows in a PNG atlas, or import an existing PNG atlas and append new rows. Transparency, pixelation, and outlines are optional.
Why use it?
Use a rigged 3D asset to create consistent 2D frames for a sprite-based project. Capturing angles and poses with the same framing is more repeatable than taking individual screenshots.
How to use this tool
- Load a supported character and its textures or embedded resources. Choose an animation, or start with the demo robot.
- Review playback, choose animation frames or facing directions, and use the cell boundary to frame the whole capture. Set cell dimensions, lighting, transparency, and optional pixelation or outline.
- Add the capture to the atlas, check it in the spritesheet player, and select, replace, or remove rows as needed. Download once the rows look correct.
Details and limitations
- The current preview orbit and zoom are the export camera, so a character can be framed from the front, side, isometric, or any custom angle before generation.
- Animation rows sample a time range without duplicating the loop endpoint. Facing rows capture one pose from four or eight evenly spaced camera angles. Directional animation captures one animated row per angle. Both start at the current preview angle.
- Atlas rows can be selected, inserted after, replaced, moved, or removed. All rows share one cell size, while each row may contain a different number of frames or views.
- Download PNG keeps the existing image-only workflow. Download JSON separately exports row names, frame coordinates, capture ranges, and cell sizes for the current atlas without changing its pixels.
- To continue an existing PNG atlas, enter its row and column counts. The tool derives cell width and height from the image dimensions, preserves its pixels, and appends newly captured rows below it. PNGs do not retain row names or playback timing.
- Transparent pixels are rendered directly rather than removed after capture. A solid colour can be selected when transparency is disabled.
- Pixelation renders the full scene first, downsamples it, and enlarges it with nearest-neighbour sampling for stable square pixels and hard alpha edges.
- External textures are matched by filename or filename stem. Any uploaded image can also be selected explicitly as the model's base-colour atlas when an FBX carries a stale path or no useful material reference.
- A self-contained glTF 2.0 GLB loads its skinned mesh, embedded textures, and animation clips together. GLBs referring to external files are rejected so a local preview never quietly fetches missing assets from the network.
- Animation bones are matched by exact name, humanoid role, side, and hierarchy. Motion is baked as a delta from the animation rig's bind pose into the character's bind pose; partial coverage remains marked Review instead of being presented as a safe conversion.
Create an eight-direction sprite atlas from a rigged character
Start with a known rig
Open the sprite tool and choose Try demo robot to load an original articulated character with an embedded walk cycle. No asset pack or external animation is needed for this example. For your own model, use a skinned FBX or a self-contained GLB. An animation from another character is not necessarily compatible just because both files use FBX: joint names, rest poses, local axes, and proportions matter. Inspect the original animation before generating an atlas.
Decide what each row means
For one frozen pose viewed from eight angles, choose Facing directions, eight views, and a pose time. For eight frames of movement from each angle, choose Directional animation with eight views and eight frames per row. The latter produces eight animation rows rather than one row of changing angles. Keep camera orientation, lighting, and cell dimensions consistent across the rows you intend to use together.
8 directions × 8 frames × 128px cells
Expected new atlas: 1024 × 1024px, 64 framesFrame the whole cycle
Use the cell boundary, guides, orientation indicator, and zoom readout to position the character. Scrub the full cycle: framing one instant tightly can clip a hand or foot later. Keep enough space for the widest pose. The in-place preview removes horizontal root travel so locomotion does not leave the capture; it does not repair an incompatible skeleton. A floating hip or twisted limb must be fixed before export, not hidden by a smaller sprite.
Build and check the atlas
Enable a transparent background and add the capture to the atlas. Review the spritesheet player before downloading. Pixelation and outline are stylistic choices, not animation repairs. Existing rows remain separate entries that can be selected, inserted after, replaced, or removed. Download the PNG and its metadata when your workflow needs frame coordinates. The dimensions above assume an empty atlas; appending adds to the rows already present.
Know the boundary
The tool renders the imported asset locally; it does not supply permission to redistribute someone else's meshes, textures, or rendered sprites. The built-in demo is original to this project. A PNG stores pixels, not a skeleton, and importing an atlas later does not recover the source animation or rig. Use the slicer when you need individual images from an existing regular grid.
References
Check the preview before baking a broken animation into sprites
Establish one known-good case
Start with the sprite tool's demo robot and embedded walk cycle. Scrub it, frame it, and generate a row. This separates a rendering or capture problem from a problem with a particular imported asset. Then inspect your file's mesh, skin, and clip inventory. A GLB with embedded motion avoids selecting an unrelated animation, but still needs to be supported by the bundled loader. Do not change several import settings and the camera at once; keep the previous working result for comparison.
Check in order: demo → character reference pose → embedded clip → external clip → atlas captureA character leaves the frame, but its limbs look right
That pattern suggests locomotion translation rather than necessarily a rig mismatch. The sprite preview's in-place handling removes horizontal travel; scrub the full cycle and check that the character stays within the cell. A jump can still need vertical space. Camera framing is not a substitute for correcting a twisted limb: if the pelvis detaches or the arms rotate into the torso, continue with the rig checks below before generating more rows.
Bone tracks match, but the pose is wrong
A matching-name count tells you which tracks were assigned, not whether those tracks mean the same motion on this rig. Local bone directions, reference poses, parent transforms, and translation scale can differ even between similarly named skeletons. Compare the external clip on its intended character, then try a clip exported with this character. An engine's humanoid retargeting can hide a difference that raw FBX playback exposes. If the matched pair is still wrong, report both minimal files you have permission to share and the exact failing time, rather than repeatedly renaming bones.
More meshes or darker materials than expected
Multiple meshes may be body parts, accessories, or levels of detail; a count alone does not identify duplicate characters. Use the asset inspector to check names and whether each mesh is skinned. For textures, first check whether the asset has UV coordinates and whether the intended image is embedded or supplied separately. More lighting can brighten a correctly mapped material, but cannot create missing UVs or repair the wrong texture assignment. The inspector counts loader-visible texture objects, not guaranteed usable images.
The preview works, but the sheet clips or drifts
Use the cell boundary and guides to frame the widest moment in the whole cycle, not only the first pose. Check the same capture settings when appending a second row; differing dimensions or views may be intentional, but your game must know how to slice them. Watch the generated sheet's player, then inspect the PNG at native resolution. Pixelation and outlines operate on the captured result; they cannot restore a hand that fell outside its cell.