Sinua
Tune the lookMaterials

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.

material-liquid.fxspec.json
{
  "fxSpec": "1.8",
  "object": "orb",
  "pattern": "glowing",
  "materials": {
    "liquid": {
      "strength": 1,
      "style": "fill"
    }
  }
}
material-liquid

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.

PropFX SpecTypeRangeDefaultDescription
liquid.blur/materials/liquid/blurnumber0–320Edge softness of the fill, as a blur sigma. Only while liquidStyle is 0.
liquid.cells/materials/liquid/cellsinteger8–9640Grid cells across the frame for the contour.
liquid.keep/materials/liquid/keepboolean0Keep the original geometry under the melt.
liquid.reach/materials/liquid/reachnumber1–12 x2.5How far each element's field reaches, as a multiple of its size.
liquid.spacing/materials/liquid/spacingnumber0.5–122.25Spacing of resampled dots (dots style). Only while liquidStyle is 2.
liquid.strength/materials/liquid/strengthnumber0–1 fraction0Amount of the metaball melt; 0 turns it off.
liquid.style/materials/liquid/stylechoice: fill · outline · dots1Filled blobs, contour outlines, or resampled dots.
liquid.threshold/materials/liquid/thresholdnumber0.05–40.5Field level of the contour; lower merges more.
liquid.width/materials/liquid/widthnumber0.05–80.8Stroke 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):

PatternDefaults
workingliquid.reach 4 · liquid.threshold 0.4
searchingliquid.reach 4
composingliquid.reach 5 · liquid.threshold 0.6
meteringliquid.keep 1

On this page