> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pixelatestudio.tomblack.ca/llms.txt
> Use this file to discover all available pages before exploring further.

# Animation and particles

> Choose the clips to capture, set frame rate and speed, and capture particle systems with repeatable seeds.

A Pixelate Asset captures movement in one of two ways: it plays animation clips on a model or prefab, or it simulates a particle system. This page covers both, how many frames you get, and how to make clean loops.

Which section you see depends on the Source: models and prefabs show **Animation**, particle systems show **Particle Settings**. See [Source types](/guides/pixelate-asset#source-types).

## Animation clips

The **Source Clips** list in the **Animation** section holds the clips to capture. Each enabled clip exports its own sprite sheet for every camera view.

| Setting | What it does | Default |
| - | - | - |
| Checkbox | Include this clip in the export. Untick it to skip the clip without removing it. | On |
| Clip | The Animation Clip to play on the source. | |
| **Speed** | Playback speed. 2 plays twice as fast, so the clip needs half as many frames. The smallest value is 0.01. | 1 |
| **FPS** | Frames captured per second of playback. It is also the frame rate of the exported Animation Clip. The smallest value is 1. | 12 |

* Click **+** to add a row, then pick a clip. Click **−** to remove the selected row, and drag the handle on the left to reorder.
* The order matters: it is the order of the Preview's clip menu, and the first clip is the default state of a generated Animator Controller.
* In a narrow Inspector, **Speed** and **FPS** move to a second line under the clip.

### Clips added for you

When you create a Pixelate Asset from a model or prefab (with the Create menu or the Browser), its clips are added for you:

1. Clips imported inside the model file (the clips on the model's **Animation** import tab).
2. Then the clips of the Animator Controller on the source's Animator.

Duplicates and Unity's internal preview clips are skipped. Every added clip starts enabled at Speed 1 and 12 FPS.

<Note>
  If you assign the Source later, in the Inspector, no clips are added. Add them with **+**.
</Note>

### Still frames

Leave the list empty to capture a single still frame per view, for props, icons and portraits. Still sheets are named `Static` in the clip part of the file name, for example `Chest_Static_SW.png`.

If the list has clips but all of them are unticked, a warning reminds you to tick one, or to remove the rows to capture a still frame.

### How many frames you get

Each clip is captured from its start, one frame every Speed ÷ FPS seconds, until it ends:

**Frames = clip length × FPS ÷ Speed**, rounded up.

For example, a 1-second clip at 12 FPS gives 12 frames. At Speed 2 it gives 6. The last frame is always just before the end of the clip, never on it, so a looping clip doesn't repeat its first pose.

The frames of a clip are laid out on one sheet in a near-square grid, left to right and top to bottom. A sheet can be at most 16384 px on a side. If a long clip at a high FPS would go over, an error asks you to lower the FPS, raise the Speed or lower the Cell Size.

### Preview playback

The [Preview](/guides/preview) at the bottom of the Inspector shows exactly what Export writes. Pick the clip in its clip menu, then press the play button, or press **Space** while the pointer or keyboard focus is on the Preview. Drag the frame bar to scrub.

## Particle systems

When the Source is a particle system, the **Particle Settings** section replaces Animation. Pixelate Pro simulates the effect from the start and captures it frame by frame.

| Setting | What it does | Default |
| - | - | - |
| **Seed Mode** | **Random Seed (Default)**: every export is a new take; the Preview shows one take that stays put, and **Seed** shows its seed greyed out. **Fixed Seed**: the seed you type, every time. | Random Seed (Default) |
| **Seed** | The simulation seed. The same seed always gives the same effect. Editable in Fixed Seed mode; in Random Seed mode it shows the seed the Preview uses. | 1 |
| **Seed Variations** | How many different takes to export per view, each with its own seed. Random Seed mode only. | 1 |
| **FPS** | Frames captured per second of simulation. Also the frame rate of the exported Animation Clip. The smallest value is 1. | 12 |
| **Start Frames** | From -10 to 10. Positive values add empty frames before the effect starts; negative values skip frames at the start. | 0 |
| **End Frames** | From -10 to 10. Positive values add empty frames after the effect; negative values cut frames from the end. | 0 |

### How many frames you get

The length comes from the particle systems themselves: the longest **Duration** (in each Particle System's Main module) in the prefab, times FPS, rounded up. **Start Frames** and **End Frames** then add or remove frames. For example, the **Fire** sample has a 1-second Duration at 12 FPS, so it exports 12 frames.

To make an effect longer or shorter, change its **Duration** on the Particle System.

### Seeds and variations

Particle systems use random numbers for things like spawn positions and sizes. The seed fixes those numbers, so one seed always gives the same take.

* In **Random Seed** mode, every export picks a new seed, so each export is a new take. The Preview, thumbnails and **Save GIF** keep one stored seed (shown greyed out in **Seed**), so they don't flicker, but the next export can look different from the Preview. Switching to Random Seed picks a new Preview seed.
* Use **Fixed Seed** to pick a take on purpose: try a few numbers in **Seed** until the Preview looks right. The **Fire** sample uses Fixed Seed 7.
* Set **Seed Variations** above 1 (Random Seed mode) to export several takes at once, for example to vary repeated explosions. Each take gets its own sheet: `Particles_0`, `Particles_1` and so on, instead of `Particles`.

### Framing particles

New Pixelate Assets made from a particle system keep the default framing (Cell Size 1 × 1, Camera Offset 0), because the effect's size depends on the simulation. Play the effect in the Preview, then raise **Cell Size** until no frame is cut off and raise **Camera Offset Y** to center it. The **Fire** sample uses a 2 × 2 cell with Camera Offset Y 0.8 and the **Bottom Center (Feet)** pivot, so it sits on the ground. See [Framing](/guides/pixelate-asset#framing-cell-size-and-camera-offset).

### When nothing shows

* **The Source prefab has no Particle System.** Add one to the prefab, or assign a different Source.
* **No Particle System in the Source prefab draws anything.** In the prefab, enable a Particle System's **Renderer** module and give it a material.

## Make clean loops

<AccordionGroup>
  <Accordion title="Looping character animations">
    * Make sure the source clip has **Loop Time** on (in the model's Animation import tab, or on the clip asset). The exported Animation Clip copies it, so it loops in your game too.
    * Pick an FPS where **clip length × FPS ÷ Speed** is a whole number, so the step from the last frame back to the first is as long as every other step. For a 0.8-second run cycle, 10 or 15 FPS work; 12 doesn't.
    * Low frame rates (8 to 12 FPS) read well as pixel art and keep sheets small. Use **Speed** to tighten a slow cycle instead of raising FPS.
  </Accordion>

  <Accordion title="Looping particle effects">
    * The exported clip loops when the prefab's first Particle System has **Looping** on.
    * The capture starts with an empty system, so the first frames show the effect building up. Use a negative **Start Frames** to skip that part, and a negative **End Frames** to cut a fade-out.
    * Set the Particle System's **Duration** to the length of one loop.
    * Use **Fixed Seed** so every export gives the same take, and the loop you approved in the Preview is the one you ship.
  </Accordion>

  <Accordion title="One-shot effects">
    * Turn **Looping** off on the Particle System, so the exported clip plays once.
    * Add a few **End Frames** if the effect should hold an empty frame at the end, or **Start Frames** for a short delay before it starts.
  </Accordion>
</AccordionGroup>

## Next steps

<Columns cols={2}>
  <Card title="Export" icon="file-export" href="/guides/export">
    Turn the clips into sprite sheets, Animation Clips and an Animator Controller.
  </Card>

  <Card title="Preview" icon="eye" href="/guides/preview">
    Play clips, switch views and save a GIF.
  </Card>
</Columns>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.