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.

Particles mode runs a ParticleSystem simulation in edit mode and captures each frame of that simulation into a sprite sheet — the same atlas format produced by Animation mode. This lets you bake real-time particle effects (explosions, smoke, fire, magic) into 2D sprite animations that play anywhere, without any GPU particle runtime overhead. Pixelate drives the simulation using ParticleExtensions.PlayInEditor(), steps through it frame by frame, and renders each frame into the atlas. The output is auto-sliced and pivot-configured by AutoSpriteSlicer, exactly as in Animation mode.

When to use Particles mode

  • Explosions and impact bursts
  • Smoke, fire, and environmental effects
  • Magic spells and ability VFX
  • Any particle-based effect you want to play as a 2D sprite animation

Requirements

Your Target GameObject must have a ParticleSystem component attached. Pixelate reads the particle system from this component to drive the simulation during capture.
If the Target does not have a ParticleSystem component, Pixelate cannot capture in Particles mode. Attach or configure your particle system on the Target before proceeding.

Setting up Particles mode

1

Open the PixelateCaptureManager inspector

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

Select Particles in the toolbar

Click the Particles button in the capture-type toolbar at the top of the inspector. This sets CaptureType to Particles (CaptureType.particles = 2).
3

Assign your particle system target

Set the Target field to the GameObject that has your ParticleSystem component.
4

Configure the random seed

Choose whether to fix the simulation seed. Enable the Random Seed toggle to use a random seed on each capture, or disable it and enter a specific Seed value to get a reproducible result. The default seed is 1234.
5

Configure frame rate and cell size

Set Frames Per Second and Cell Size to match your animation requirements, as you would in Animation mode.
6

Click Capture

Press the Capture button. Pixelate calls ParticleExtensions.PlayInEditor() to simulate the particle system, steps through it frame by frame, and renders each frame into the atlas.

Settings

Target
GameObject
required
The GameObject with a ParticleSystem component. This is the particle effect that will be simulated and captured.
Random Seed
boolean
default:"false"
When enabled, Pixelate uses a random seed for each capture, producing a different simulation result every time. When disabled, the value in the Seed field is used instead, giving a consistent, reproducible result.
Seed
int
default:"1234"
The seed value used to initialize the particle simulation when Random Seed is disabled. Use the same seed across captures to get identical results — useful for iterating on cell size or normal maps without changing the animation content.
Frames Per Second
int
default:"20"
The sampling rate used to determine how many frames to capture from the simulation.
Cell Size
Vector2Int
required
The pixel dimensions of each individual frame in the output sprite sheet.
Pivot
Vector2
The sprite pivot point applied when the sheet is sliced. (0.5, 0.5) is center; (0.5, 0) is bottom-center.
Create Normal Map
boolean
default:"false"
When enabled, a second sprite sheet containing normal map data is produced alongside the diffuse sheet.
Pixelated
boolean
default:"true"
Applies pixelation filtering to each rendered frame.
Export Location
string
required
The folder path (relative to Assets) where the sprite sheet PNGs are saved.

Output

Particles mode produces the same file format as Animation mode:
FileCondition
{TargetName}.pngAlways
{TargetName}_NormalMap.pngOnly when Create Normal Map is enabled
After the files are written, AutoSpriteSlicer.Slice() runs automatically to slice the atlas into individual frames with your configured pivot applied.
For the cleanest results, design your particle effect to either loop seamlessly or have a well-defined start and end within its Duration setting. An effect that trails off gradually will produce mostly empty frames at the end of the sprite sheet, which wastes atlas space. Consider trimming the system’s Stop Action or duration to match the visible effect length.
Fix the seed during initial setup and iteration. Once you’re satisfied with the look of the effect, you can switch to Random Seed if you want variation — but saving with a fixed seed first ensures you can reproduce the exact capture if needed.