Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.tomblack.ca/llms.txt

Use this file to discover all available pages before exploring further.

Animation mode steps through every frame of an AnimationClip and renders each one into a sprite sheet atlas. You assign one or more clips to the Source Clips array, and Pixelate produces a separate sprite sheet PNG for every clip — named after both the target and the clip so files stay organized. After the atlas is written to disk, AutoSpriteSlicer.Slice() runs automatically to divide it into individual frames, applying your configured pivot to each one. Animation mode is the right choice for any character or object that moves: walk cycles, attack animations, idle loops, and similar frame-by-frame content.

When to use Animation mode

  • Character locomotion (walk, run, jump)
  • Combat animations (attack, block, death)
  • Idle loops and environmental animations
  • Any asset driven by AnimationClip assets in your project

Setting up Animation mode

1

Open the PixelateCaptureManager inspector

Select the PixelateCaptureManager GameObject in your scene to open the Pixelate inspector.
2

Select Animation in the toolbar

Click the Animation button in the capture-type toolbar at the top of the inspector.
3

Assign a target

Set the Target field to the animated GameObject you want to capture. The target must have an Animator or Animation component with the clips you intend to use.
4

Assign source clips

Populate the Source Clips array with the AnimationClip assets to capture. Add one entry per clip. Pixelate processes each clip in sequence and saves a separate sprite sheet for each.
5

Configure frame rate and cell size

Set Frames Per Second to control how many frames are sampled per second of animation. Adjust Cell Size to match your pixel-art resolution.
6

Preview with the Current Frame slider

Drag the Current Frame slider to scrub through any frame of the selected clip in real time. Use this to verify that your camera framing and cell size look correct before committing to a full capture.
7

Click Capture

Press the Capture button. Pixelate iterates over every clip in your Source Clips array, renders all frames into atlas textures, and saves each one to your export location.
Each clip in the Source Clips array produces its own sprite sheet. You can batch-capture an entire character’s animation set in a single click.

Settings

Target
GameObject
required
The animated GameObject to render. It must have the animation clips assigned in the Source Clips array playable on it.
Source Clips
AnimationClip[]
required
One or more AnimationClip assets to capture. Pixelate captures each clip independently and saves a separate sprite sheet per clip.
Frames Per Second
int
default:"20"
The sampling rate used to determine how many frames to render from each clip. The total frame count per clip is computed as:
numFrames = (int)(animClip.length * _framesPerSecond)
Higher values produce smoother animations at the cost of larger atlases and longer capture times.
Cell Size
Vector2Int
required
The pixel dimensions of each individual frame in the sprite sheet (width × height).
Pivot
Vector2
The sprite pivot point applied to every frame when the sprite sheet is sliced. (0.5, 0.5) is center; (0.5, 0) is bottom-center.
Create Normal Map
boolean
default:"false"
When enabled, Pixelate produces a second sprite sheet containing normal map data for every frame of the animation.
Pixelated
boolean
default:"true"
Applies pixelation filtering to each rendered frame. Disable for smooth output.
Export Location
string
required
The folder path (relative to Assets) where sprite sheet PNGs are saved.

Atlas sizing

Pixelate automatically calculates the atlas dimensions needed to fit all frames. It arranges frames into a square grid:
gridSize = Mathf.CeilToInt(Mathf.Sqrt(numFrames))
The resulting texture dimensions are cellSize × gridSize on each axis, capped at 4096 × 4096. You don’t need to configure atlas dimensions manually.
Very long clips at high frame rates can exceed the 4096 × 4096 limit. If your clip has many frames, consider reducing Frames Per Second or splitting the clip into shorter segments.

Output

For each clip in your Source Clips array, Pixelate writes the following files:
FileCondition
{TargetName}_{ClipName}.pngAlways
{TargetName}_{ClipName}_NormalMap.pngOnly when Create Normal Map is enabled
{TargetName}_Palette.pngOnly when auto-palette is enabled
After all files are saved, AutoSpriteSlicer.Slice() runs on each atlas. It slices the sprite sheet into individual frames using your Cell Size, assigns the configured pivot to every frame, and imports the texture as a Sprite asset — ready to use in an Animator or SpriteRenderer.
Use the Current Frame slider to check that the model stays within the camera frame across the full animation before capturing. This is especially useful for animations where the character moves forward, such as a walk cycle or a lunge attack.