Liquid
Dots and strokes melt into metaball blobs.
Liquid treats every element as a soft field and draws the contour where the fields merge: filled blobs, outlines, or dots resampled along the contour. Nearby dots flow together into droplets and pull apart as the pattern moves.
{
"fxSpec": "1.8",
"object": "orb",
"pattern": "glowing",
"materials": {
"liquid": {
"strength": 1,
"style": "fill"
}
}
}
Cost and low power
Liquid is compute-heavy (the contour is traced every frame) while drawing few elements, so the cost badge can under-rate it. Measure on your target devices (Performance). Sheddable in low power (disable: ["liquid"]).
Some patterns suit it better than others; each pattern gets its own tuned liquid defaults, listed below the table.
Props
Metaball contours: dots and strokes melt into blobs. In an FX Spec: /materials/liquid. Off until liquid.strength is above 0.
| Prop | FX Spec | Type | Range | Default | Description |
|---|---|---|---|---|---|
liquid.blur | /materials/liquid/blur | number | 0–32 | 0 | Edge softness of the fill, as a blur sigma. Only while liquidStyle is 0. |
liquid.cells | /materials/liquid/cells | integer | 8–96 | 40 | Grid cells across the frame for the contour. |
liquid.keep | /materials/liquid/keep | boolean | 0 | Keep the original geometry under the melt. | |
liquid.reach | /materials/liquid/reach | number | 1–12 x | 2.5 | How far each element's field reaches, as a multiple of its size. |
liquid.spacing | /materials/liquid/spacing | number | 0.5–12 | 2.25 | Spacing of resampled dots (dots style). Only while liquidStyle is 2. |
liquid.strength | /materials/liquid/strength | number | 0–1 fraction | 0 | Amount of the metaball melt; 0 turns it off. |
liquid.style | /materials/liquid/style | choice: fill · outline · dots | 1 | Filled blobs, contour outlines, or resampled dots. | |
liquid.threshold | /materials/liquid/threshold | number | 0.05–4 | 0.5 | Field level of the contour; lower merges more. |
liquid.width | /materials/liquid/width | number | 0.05–8 | 0.8 | Stroke width of the outline (outline style). Only while liquidStyle is 1. |
Per-pattern defaults (applied only while the material is on, and only to props you leave unset):
| Pattern | Defaults |
|---|---|
working | liquid.reach 4 · liquid.threshold 0.4 |
searching | liquid.reach 4 |
composing | liquid.reach 5 · liquid.threshold 0.6 |
metering | liquid.keep 1 |