A downloadable tool for Windows, macOS, and Linux

Buy Now$6.99 USD or more

Procedural fracture studio for Aseprite: split any sprite into real debris, then let a 2D rigid‑body simulation decide how it falls, cracks, melts or burns and more.

Aseprite 1.3.18+ Lua 5.4 Zero dependencies EN / ES / RU / ZH

                    


What it is

ShatterFX Studio is a persistent, resizable, non‑modal panel that lives inside Aseprite. You draw a sprite, open the Studio, pick a material, and Generate: the extension cuts your cel for real, simulates every fragment as a rigid body and writes the result back into the aseprite — as one image or as a full animation frameset.

  • Real preview. The canvas fractures your actual active cel, so the piece count you see is the piece count you get.
  • Nothing gets in the way. No click ever closes the window; Aseprite stays usable while it is open.
  • Non‑destructive. Bakes are layer‑local and wrapped in a single transaction, so one undo reverts everything.

One panel, three tabs

Every tab is built once, when the window opens. Switching tabs, folding a group or toggling an area only hides and shows widgets, so nothing rebuilds and nothing flickers.

TabWhat it controls
PATTERNSHow the drawing is cut into fragments.
PHYSICS (A Flight / B Impact)How the fragments fly, spin, hit the ground and settle.
RENDERTimeline, frame budget and how the result is written.

PATTERNS — how the sprite is cut

ParameterRangeEffect
algorithmvoronoi / worley / grid / radial / bayerFive cut patterns: nearest‑neighbour shards, voxel debris, straight fibres, radial shock cracks, ordered Bayer erosion.
metricEuclidean / Manhattan / ChebyshevDistance metric used by voronoi and worley.
cells2 – 400Number of cut points.
jitter0 – 10 = regular grid, 1 = fully random.
warp0 – 1Deforms the points into organic cracks.
crack0 – 16 pxCut thickness. 0 keeps the cel whole.
minarea1 – 20000Discards fragments smaller than this area.
seed1 – 99999Same seed, same fracture, every time.

PHYSICS — how the pieces move

A · FLIGHT — gravity, burst energy, bounce, friction, initial tilt, spin, plus torsion and stretch.

ParameterRangeEffect
gravity0 – 4000Downward acceleration in px/s².
spread0 – 1Burst energy. 0 = it only falls.
restitution / friction0 – 0.95 / 0 – 1Ground bounce and horizontal loss on impact.
rotation / spin0 – 3.14 / 0 – 12Initial tilt per fragment and angular speed.
torsion / stretch0 – 1Virtual modifiers: pieces twist as they slide and elongate along their direction after a hit.

B · IMPACT — what a piece is once it lands, not just where it goes.

ParameterRangeEffect
impacts / crush0 – 1Extra kick on every bounce; pieces flatten and widen when they land hard.
liquefaction0 – 1The settled pile slumps and loses alpha.
incineration0 – 1Pieces blacken the longer they rest.
melting / vaporization0 – 1Shrink and sink as they settle / thin out and fade away.
air_damping0 – 4Air drag.
integrationeuler / verletSemi‑implicit Euler or positional Verlet solver.
groundbottom / center / offWhere pieces land. off lets them fly out of frame.

Side walls are simulated too: they bounce with restitution, lose friction, count as impacts and put pieces to sleep, so a single frame keeps most of its fragments instead of sliding them off the canvas.

                               

RENDER / TIMELINE

ParameterOptionsEffect
outputsprite / framesetOne still image, or the whole animation.
steps1 – 2000Frame budget. It stops early as soon as everything has settled.
fps1 – 60Sets the physics step (1000/fps ms).
antialiason / offBilinear sampling on rotating pieces.
new_layeron / offBake into a new layer instead of overwriting the cel.
allow_offscreenon / offGrow the image so escaping pieces are kept in a margin instead of being cropped.

Margin:  It expands the margin for applying physics and animation relative to the algorithm's ground detection area; this depends on the sprite's canvas size. If the canvas is too tight, the animation will extend beyond the frame, so the canvas needs to be enlarged to view the animation when using this margin option or the  allow_offscreen.


38 material presets

Each preset carries its own cut and physics values. Pick one, then nudge anything: applying a material never locks the sliders.


Flight & landing

Thin Crystal – fine sharp shards that skate across the floor. · Heavy Rock – few big blocks that land hard. · Splintered Wood – straight fibres and long splinters. · Digital Matrix – glitchy voxel debris, very bouncy. · Radial Burst – cracks radiating from one impact point. · Sand Dissolve – ordered Bayer erosion, soft falling grains. · Ceramic Plate – wide plates that clatter. · Zero‑G Debris – no floor, pieces leave the screen.

Impact & rest modifiers

These switch on the B‑tab modifiers, so they change what a piece is, not only where it travels. Several combine two or three of them on purpose: a melt with heat does not read like a melt alone, and a crush with burning is not the sum of the two.

Burning Paper · Ember Cinders · Scorched Timber · Candle Wax · Softening Glass · Slag Collapse · Quicksand · Honey Flow · Tar Slosh · Dry Ice Fog · Steam Vent · Smoke Dissolve · Anvil Drop · Hydraulic Press · Wrecking Ball · Molten Rock · Magma Crack · Wet Ash · Burning Glass · Forge Hammer · Sublimating Ice · Candle in Wind · Soap Bubble · Molten Copper

The four rest modifiers build up over settle_frames (up to about 74 frames), derived from the strongest one. That is why several of these materials need more frames than the flight ones next to them – lowering the count does not speed them up, it cuts the effect in half.

Bounce

Rubber Burst · Ping Pong Shatter · Steel Chain · Superball · Bouncing Gel · Pinball Metal

Retained energy per impact is bounce × (1 + impacts × 1.6), capped at 1.0. Below 1 a pile settles; above 1 it would gain energy forever and never stop. The cap is a ceiling, not a warning, and all six bounce presets sit below it.

                        


Live preview & playback

  • The canvas draws your real sprite, fractured for real, with a live readout of pattern, piece count, discarded fragments and cut coverage.
  • Play runs the simulation on an Aseprite timer at 1/fps and loops back to frame 0; Step walks it frame by frame and the mouse wheel does too.
  • Reset returns to the first frame. Unchecking Preview: short‑circuits the paint handler, so the cost is exactly zero.

Simulation areas

  • Up to 7 independent regions per session, each one switchable, draggable and resizable.
  • Use them to shatter only part of the drawing, or to run different materials side by side in one bake.
  • Extra areas respect a hard cap and never overlap the main one, so a frame can never be simulated twice.

                        

Randomizer

  • Surprise me rolls a balanced set of values across every section, including the ones you had folded away.
  • Dice buttons re‑roll a single section (material, cut, physics, timeline).
  • Clean zeroes a whole tab in one click, and folding a group stores its values so reopening it brings them back.

                       

Top bar

  • Help button in the corner of each tab: short contextual text for the section you are looking at, not a manual.
  • Language selector: English, Spanish, Russian and Chinese, including reversible captions in the dropdowns.
  • The window is resizable and remembers its size and position between sessions; the preview grows with it.



Safe by design

  • Before opening or generating, the extension lists every problem at once: no sprite open, indexed color mode, read‑only layer (group, background, hidden or locked), no opaque pixels, UI unavailable.
  • Writes happen inside a single app.transaction(): one undo reverts the whole bake.
  • Frameset mode advances exactly one physics step per frame and writes into the target layer only. No other layer is touched, and it can only shorten the timeline, never cut frames away.
  • Indexed sprites are detected and reported instead of producing garbage pixels.

Install

1. Download the .aseprite-extension file.
2. Double‑click it, or use Edit › Preferences › Extensions › Add extension.
3. Restart Aseprite.

Requirements

  • Aseprite 1.3.18 or newer (tested on 1.3.18.6, API 41).
  • Lua 5.4 (bundled with Aseprite). No external libraries, no network access.
  • RGB sprites with at least one opaque cel.

## License

 **Copyright (c) 2026 IndidesingLab.

 All rights reserved.**

The sprites and animations you produce with ShatterFX Pro belong to you:

they are generated from your own material,

and the author claims no rights over them.

Redistribution, modification,

or commercial use of this software is prohibited

without the author's express authorization.

- **Authorized use:** installing and using the software on the purchaser's

own devices. Nothing more.

- **Unauthorized use:** copying it for third parties, publishing it,

creating a fork, selling it, or integrating it into another product or service.

- **No warranty:** it is distributed "as is," without any kind of warranty. The author

is not liable for data loss or damages resulting from its use.

Purchase

Buy Now$6.99 USD or more

In order to download this tool you must purchase it at or above the minimum price of $6.99 USD. You will get access to the following files:

shatterfx-studio-pro.aseprite-extension 226 kB

Leave a comment

Log in with itch.io to leave a comment.