Field Shapes

Read with AI
All docs in one file (llms-full.txt)
FieldShapes #Field #Node
Field Shapes

A node that uses shapes not as “images” but as “sources of a field”. It outputs the gradient of each shape’s SDF (signed distance), that is the outward unit vector from the surface, as the field, and attenuates it with exp(-|d| × 3) the further you get from the surface. A positive Strength pushes out, a negative one sucks in. Each shape traces a Lissajous orbit, and the speed and initial phase of the orbit are determined by Seed.

  • Shape — a dropdown of Circle (default) / Heart / Star / Ring. Heart and Star use Inigo Quilez’s SDFs, Ring is a ring 0.25 thick
  • Count — the number of shapes. Clamped to 1-16, default 3 (the loop limit on the shader side is also 16)
  • Size — clamped to 0.02-1, default 0.25. The size in UV terms. It is corrected for the screen aspect ratio, so circles stay perfectly round
  • Strength — clamped to -2 to 2, default 0.5 (Strength input / strengthInput / currentStrength)
  • Phase — the motion phase of the shapes (Phase input / phaseInput / currentPhase). Not clamped
  • Seed — an integer. On new creation it is a random number determined automatically from the runtime value

Phase does not advance automatically on its own. Unlike Field Noise it does not integrate time, so the shapes stay still unless Phase is moved. To move them, connect something like an LFO to Phase.

The output resolution is 1/4 of the global resolution and the format is RGHalf.

Video

Input ports

Port IDType
Phasefloat
Strengthfloat

Output ports

Port IDType
FlowFlowFieldOutput

Scriptable members

PathType
phaseInputfloat
strengthInputfloat
currentCountint
currentSizefloat
currentStrengthfloat
currentPhasefloat
currentSeedint

Synapse Apps (scripting)

await synapse.modules.create({ type: "FieldShapes" })

Also referenced from