Ghostery takes a clip, works out what the subject is and how far away every pixel of it sits, and hands back a Blender shot kit β the plate, the mattes, a per-frame point cloud of the subject, a camera that matches the original, and a rig that dissolves that subject into particles. You direct it here; you keep directing it in Blender afterwards. Nothing is baked in that you can't change later.
Every effect below is the same simulation. The subject's points detach on a sweep, then drift under forces. What changes between presets is what those points are drawn as β grains, transparent spheres, fog, or a connected liquid surface β and how the forces are tuned. The melt tier is the exception and works differently; it is called out separately below.
Pick one in the Effect dropdown. Every value in these tables is a slider on the kit's Blender rig too, so the preset is a starting point rather than a ceiling. Blank an Advanced field on the job page and the preset's value is kept.
The default, and the cheapest to render. Solid grains detach and blow along the drift arrow, shrinking as they age and gone after about three seconds. It settles and thins out; it does not billow upward. If you want it to float away, you want Smoke.
Dust is the one preset that overrides nothing β it is the rig's defaults, so the table below doubles as the baseline every other preset is a deviation from.
| Control | Value | What it does |
|---|---|---|
| Size | 0.014 | Radius of a grain at birth |
| End Size | 0.15 | Shrinks to 15% of its size over its life β this is most of the "fade" |
| Lifetime | 3.0 s | How long a grain lives before it is deleted |
| Birth Fraction | 1.0 | Every available plate point becomes a grain |
| Wind | 0.25, β0.1 | Steady push. Set by the blue drift arrow β drag distance sets strength |
| Buoyancy | 0.3 | Gentle lift. Positive rises, negative falls |
| Drag | 0.6 | Air resistance. Higher settles into a terminal speed sooner |
| Kick | 0.18 | Random speed given at the moment of detaching β the "puff" |
| Turbulence Strength | 1.0 | How hard the swirl pushes |
| Turbulence Scale | 0.9 | Size of the swirls. Low is broad and lazy, high is fine and busy |
| Turbulence Speed | 0.6 | How fast the swirl pattern itself evolves |
Transparent spheres with an iridescent rim, rising and wobbling, holding their size and vanishing at the end of their life rather than fading. Deliberately sparse: only 2% of the points become bubbles, because overlapping transparent spheres exhaust the renderer's ray bounces and go black. Raising Birth Fraction here is the fastest way to make this preset look broken.
| Control | Value | vs Dust |
|---|---|---|
| Birth Fraction | 0.02 | Sparse on purpose β see above |
| Size | 0.05 | Much bigger, so fewer read as more |
| End Size | 1.0 | No shrink β they pop at lifetime instead of fading |
| Lifetime | 4.0 s | Longer, so they get somewhere before popping |
| Buoyancy | 0.8 | Strong rise |
| Drag | 0.9 | High, giving a floaty terminal-velocity feel |
| Turbulence Scale | 2.0 | Small-wavelength wobble rather than broad drift |
| Turbulence Speed | 1.2 | Fast-evolving, which is what reads as "wobble" |
| Turbulence Strength | 0.3 | Gentle β the wobble is in the scale, not the force |
| Kick | 0.05 | Low; bubbles ease off the body rather than puff |
| Wind | 0.06, β0.02 | Barely any β buoyancy does the work |
The same particles, rasterized into volumetric fog every frame, so this is soft and billowy rather than grainy. It rises about twice as hard as dust and spreads as it goes. This is the one that floats away, and it costs the most to render.
| Control | Value | What it does |
|---|---|---|
| As Volume | on | Switches the points to fog. This is what makes it Smoke |
| Volume Radius | 0.03 | Size of each puff of fog. Small resolves individual puffs; large fuses into big lobes |
| Volume Density | 44.0 | How opaque the fog is. Rises when the radius falls, to keep the same darkness |
| Volume Detail | 2.0 | Voxels per puff radius β the anti-blockiness dial. Cost is cubic; capped at 4 |
| Birth Fraction | 1.0 | Maxed. Small puffs need every point or the trailing edge breaks into specks |
| Buoyancy | 0.55 | Rises noticeably faster than dust |
| Turbulence Strength | 1.5 | Strong β this is the billowing |
| Turbulence Scale | 0.7 | Broad rolls rather than fine detail |
| Drag | 0.45 | Lower, so it keeps travelling |
| Lifetime | 2.2 s | Short; the fog thins as points die, which reads as dissipating |
Raise Volume Detail. Blocky smoke is almost never
particle count or density β it is the fog being rasterized on a grid coarser than the
puffs themselves, so each puff lands in one cell and renders as a cube. Detail is
voxels per puff radius; the cost of raising it is roughly its cube, which is why it
stops at 4.
The points are surfaced into one connected blobby mesh and shaded as water. Buoyancy is negative, so it runs down the body and pools rather than rising. This sidesteps a real fluid solve entirely β if you want actual viscous collapse, see the melt tier below.
| Control | Value | What it does |
|---|---|---|
| As Blobby | on | Surfaces the points into a connected mesh. This is what makes it Liquid |
| Blob Radius | 0.05 | How far apart two points still fuse. Too small and it breaks into beads |
| Birth Fraction | 0.7 | Connected blobs need density β sparse points don't fuse |
| Buoyancy | β1.1 | Negative β this is what makes it fall instead of rise |
| Drag | 0.2 | Low, so it accelerates as it drains |
| Turbulence Strength | 0.35 | Gentle β liquid shouldn't swirl like dust |
| Lifetime | 2.4 s | Drains away below frame |
| End Size | 1.0 | No shrink β a shrinking liquid reads as evaporation |
A different thing from the presets above. Instead of particles, the subject is baked as a
viscous fluid with a real solver and delivered as an animated Alembic in
geo/melt/, which you can shade in any package. Choose it in
Melt (fluid sim); "No melt" is the default and costs nothing.
The list runs thinnest to thickest, and that ordering is the viscosity control β these were measured on a real subject rather than being numbers to guess at. Melting starts where the dissolve does and runs to the end of the shot.
| Preset | Effective viscosity | How it behaves | Look |
|---|---|---|---|
| water | 0.000001 | Splats and spreads wide, fastest collapse | Glass at IOR 1.33 |
| melting_wax | 0.05 | Soft, holds a little shape on the way down | Off-white subsurface |
| honey | 5 | Slumps and pools | Amber transmission, darker where thicker |
| mud | 20 | Thick, breaks up as it goes | Noise-broken wet diffuse |
| lava | 60 | Thick, sags and folds forward | Cooling basalt β crust with glowing cracks |
| tar | 200 | Thickest; the figure holds its column longest | Near-black gloss with sky sheen |
Two arrows over the preview, and they do different things. The orange one is direction only; the blue one is a vector, where the distance you drag sets the strength.
| Control | Default | What it does |
|---|---|---|
| Wipe arrow (orange) | feet-first | Any angle, not just up or down. Timing is normalised across the subject, so the effect reads the same whichever way you point it |
| Grad mode | off | A gradient the way a paint program does it, but driving the sim, not a look: drag start (dissolves first) and end (dissolves last). Everything before start is already gone, everything past end never dissolves β unlike the arrow, which always spans the whole subject |
| Radial mode | off | Dissolve bursts out from a point you place, instead of sweeping. Tick collapse inward to run it into the point instead |
| Radial rings | auto | In the editor's Direct mode: drag the inner ring (everything inside is gone) and outer ring (everything outside untouched), and the stretch handle to squash the circle into a standing-figure ellipse. rings auto returns sizing to the subject |
| Drift arrow (blue) | 0.27 | Wind direction and strength β drag further for harder. It prints its value next to the arrow. Maximum 3.0 |
| Flow along sweep | off | The spatial alternative to the drift arrow: particles accelerate along the sweep itself, per point β radiating out of a radial burst (or into a collapse-inward), running start β end on a grad. Wind is one uniform vector; this one bends with the effect. They stack, so zero the drift arrow for flow alone |
| Start frame | 1025 | Frames are 1001-based, the plate convention. Start 1025 is one second in at 24 fps |
| Duration | 96 | How long the sweep takes to cross the whole subject |
| Noise Scale | 6.0 | How fine the break-up is β low is a few big blotches, high is a fine crumble |
| Noise Strength | 0.35 | How much the front breaks up, as a fraction of the duration. At 0.35 over 96 frames a patch detaches up to Β±17 frames early or late. 0 gives a hard straight edge |
The grad dots and radial rings set each point's detach
time β which parts of the subject turn to particles first and in what order.
They have nothing to do with shading. Any sweep other than the default feet-first
wipe is delivered through the baked path automatically (the live rig's
erosion shader only knows the default), so the ordering is data in the kit:
dissolve_t on every point, plus the pre-eroded mattes. Flipping
Use Baked off in such a kit brings back a card that erodes feet-first
while the particles follow your gradient β don't.
These override the preset. Leave a field blank to keep the preset's value β that is what blank means everywhere on the page. All of them are rig inputs too, so anything you skip here is still adjustable in Blender.
| Field | Rig default | What it does |
|---|---|---|
| Turbulence | 1.0 | Strength of the swirl |
| Turb scale | 0.9 | Size of the swirls β small number, big swirls |
| Buoyancy | 0.3 | Positive rises, negative falls |
| Drag | 0.6 | Air resistance; caps how fast anything ends up going |
| Kick | 0.18 | Random speed at the moment of detaching |
| Lifetime (s) | 3.0 | Seconds before a particle is deleted |
| Size / End size | 0.014 / 0.15 | Radius at birth, and the fraction of it left at death |
| Birth fraction | 1.0 | What share of available points become particles |
| Bounce / Friction | 0.15 / 0.5 | How lively and how slippery the floor is |
| Seed | 0 | Change it to reroll the random break-up without changing anything else |
Particles land on the ground is on by default. The floor is measured from the subject's own geometry β where their lowest point actually reaches. Turn it off to let everything fall through and out of frame. Floor offset nudges it if the placement still reads wrong: positive lowers the floor, negative raises it.
β‘ Live in the editor toolbar runs the dissolve on your machine, drawn over the actual plate. The first click on a clip pays a one-time server round trip β matting and depth on one frame, ~20β30 seconds, narrated with a phase and an elapsed clock β and hands back a compact point cloud. After that the cloud is cached: Live starts instantly, and every control β arrows, grad dots, rings, flow, forces, timing β re-simulates as you drag. No queue, no render.
How updates announce themselves: while you're dragging, the status reads adjustingβ¦; a quarter-second after you stop, the sim recomputes and playback replays from the in-point (updated Β· replaying from N) so the change is seen from the top. While paused it updates in place instead β a paused frame is an inspection, and it won't be yanked away.
Transport: βΈ pauses the loop; β βΆ| (or the β β keys) step one frame at a time, and stepping pauses. While paused, the frame slider scrubs anywhere and the particles follow, frame-accurately.
The floor line: with "Particles land on the ground" ticked, a dashed orange line marks the collision floor β which sits at the subject's own lowest point, the same rule the kit uses. For a partial subject (a painted head) that shelf lands mid-frame: nudge it with Floor offset (it applies live) or untick the ground checkbox to let particles fall out of frame.
| Aspect | What you get |
|---|---|
| Timing & placement | Exact. The detach field β which parts go when, the thing you direct β is the same maths the kit bakes, verified against it to six decimals |
| Speed & direction | True: wind, flow, buoyancy, drag and the floor all behave as in the kit |
| Swirls | Approximate: the preview's turbulence is its own noise, so exact eddies differ from the render |
| Look | Coloured dots only β no smoke fog, bubble glass or liquid surfacing. For the true look, render the kit (or a small frame range of it) |
| Subject | One frozen frame β pick a frame where the subject reads clearly before hitting the button. A dancing subject stays frozen while its particles fly |
By default Ghostery takes the most salient subject in frame. Three ways to be specific, and they stack β the box says where, the words say what:
| Method | Use it when |
|---|---|
| Scan & pick | The thing you want is one of several obvious objects. Scan, then click the coloured pill matching the box drawn on the preview |
| Type a noun | The scan never offered what you wanted. Type helmet, jacket, dog. Works on its own |
| Paint a region | The thing is hard to name, or it's part of a larger object. In the editor's β Paint tool: scrub to a frame where it's clearly visible and scribble over it |
The painted region does not need to be tight β only its bounding box is submitted. A rough blob is enough. Painting beats a scanned pill, and a typed noun beats a pill's label, on the reasoning that you only reach for either when the pills didn't have what you wanted.
The big stage in the main column is the editor β it appears the moment you drop a clip, and everything spatial happens there over the footage at real size: painting, the sweep handles, the live preview. β Paint / β Direct / β‘ Live switch the active tool in its toolbar; the left rail holds setup (clip, subject, effect numbers, kit options) and the queue button.
| Input | Does |
|---|---|
| drag | Paint, in Paint mode. Drag a handle, in Direct mode |
| shift + drag | Erase instead of paint |
| [ and ] | Shrink and grow the brush, proportionally β as in Photoshop |
| space + drag | Pan around |
| wheel | Zoom, anchored on the pointer. Nearest-neighbour past 1:1, so pixels stay honest |
| frame slider | Scrub to the frame you want to paint on, or that Live builds its cloud from |
| βΈ / β / βΆ| Β· β β | Live transport: pause the loop, step one frame at a time. Stepping pauses; while paused the frame slider scrubs and the particles follow, frame-accurately |
| Fit | Zoom back out to the whole frame |
The brush is measured in image pixels, so zooming in doesn't change what a stroke covers β a 60px brush is 60px of the plate whether you're zoomed to fit or to 8Γ.
The box you paint is applied to every frame, not tracked from the frame you painted on. For a subject that stays roughly put, box plus noun is plenty. For one that crosses the frame, paint on a frame near the middle of its travel and expect to lean on the noun more than the box.
Points render, but they export as positions with no size β nothing you can cast a shadow
from, relight, or light with an HDRI, because there are no normals. On the
GH_Particles modifier in the kit, set Instance Shape:
| Value | Shape | Verts per particle | Notes |
|---|---|---|---|
| 0 | Points | β | Default, cheapest, no geometry |
| 1 | Spheres | 12 | Smooth-shaded; the general-purpose choice |
| 2 | Cards | 4 | Cheapest real geometry. Faces the camera exactly |
| 3 | Discs | 8 | Round card. Faces the camera exactly |
Cards and discs keep facing the camera every frame even if it moves. Everything is scaled by each particle's own radius, so switching shape never changes the size of anything. A 23,000-particle frame becomes roughly 277,000 verts as spheres or 92,000 as cards β if it crawls, drop Birth Fraction rather than the detail.
The per-point plate colour rides out as a colour attribute
named Col. OBJ, FBX and USD carry it; Alembic does not β an
.abc gives you geometry and normals but arrives untinted, whatever you
tick in the export dialog. If you need colour in Alembic, transfer it from
geo/points/frame_####.ply, which has always carried per-point colour.
A zip with the shot built and ready. If you don't use Blender, double-click
RENDER-Windows.bat, RENDER-Mac.command or
render-linux.sh and it renders itself β they check your Blender version
first, because an old Blender opens the shot and then fails meaninglessly.
| Path | What it is |
|---|---|
| shot.blend | The assembled shot β camera, plate, rig, view layers, compositor template |
| plates/ | Source frames, matte, clean plate (subject painted out) |
| geo/points/ | Per-frame coloured point clouds of the subject, as PLY |
| geo/melt/ | The melt Alembic, if you asked for one |
| passes/depth/ | Depth, plus the subject-free background used for occlusion |
| camera/ | Ready-to-import camera for Nuke, Blender, Houdini, Maya, 3ds Max, After Effects |
| lighting/hdri.exr | The 360Β° HDRI, if you ticked it |
Kits open with Cycles on GPU Compute and motion blur on (shutter 0.5, centred). A machine with no configured GPU quietly renders on the CPU β slower, not broken.
| Layer | Holds | You need it if |
|---|---|---|
| beauty | Everything except the shadow catcher and holdout | You want one finished image and nothing else |
| particles | The effect, the ground shadow catcher, and the holdout so it comes out pre-occluded | You're compositing |
| subject_card | The eroding subject. Its alpha over time is the eroding matte | You're compositing |
| env | The clean-plate backdrop card | You're compositing |
beauty is redundant with the other three β the compositor template rebuilds it
by stacking env under card under particles. If you're compositing, switching beauty off is
exactly right and costs you nothing. Layers are independent: switching one off never
changes what another renders.
The compositor template's Render Layers nodes point at layers you just disabled. Turn off Post Processing β Compositing as well, or re-enable the layers. The render scripts guard against this; doing it by hand in the GUI gets no such protection, and on a slow card that's an hour to find out.
env is the backdrop, not lightingParticles, subject card and backdrop are all pure emission and
ignore world lighting entirely, so turning env off cannot change how the
particles look β you just supply the plate yourself in comp. Only Smoke (volumetric)
and the Bubbles' glossy rim use the world, and that's the neutral world dome, not
this layer.
Blur on the particles works only because the rig exports a velocity attribute β points are born and die every frame, so there is no vertex correspondence for the renderer to infer movement from. Kits built before 2026-08-05 render identically whether motion blur is ticked or not. If you ticked it back then, you did not get it. Rebuild the kit. It is on by default now.
Plate convention. A start frame of 1 will be flagged before you submit. Renaming or renumbering a kit's geometry is supported β the file prefix and frame offset are both rig inputs β but a missing file is reported as a corrupt PLY header, and the render then completes with no particles at all.
The simulation is stateful, so rendering frames 1100β1120 still has to run the sim from the shot's start to get there β the particles at 1100 are a hundred accumulated steps. Rendering a short range near the end costs nearly as much as rendering up to it.
Something here wrong, or missing? Use the ticket button on the Ghostery page β screenshots paste straight in.