ringWaves

A mask of concentric rings spreading out from a point, animated by the layer's clock.

ringWaves(slots: {
    center: PropRef
    frequency: PropRef
    thickness: PropRef
    softness: PropRef
    phase: PropRef
}): PatternPaint

Import patterns from shaders/std and use patterns.ringWaves.

center is a position prop. frequency sets how tightly the rings pack; higher is more rings. thickness 0–1 is how much of each ring period is ring (0.5 is even bands, 1 is solid). softness 0–3 blurs the ring edges. phase is in radians. Declare animatedTime: {speed: 'speed'} on the definition; positive speed moves the rings outward.

Parameters

NameTypeNotes
slots`{
center: PropRef
frequency: PropRef
thickness: PropRef
softness: PropRef
phase: PropRef

}` | |

Example

paint: strokeOver({fill: p('colorB'), stroke: p('colorA'), mask: ringWaves({center: p('center'), frequency: p('frequency'), thickness: p('thickness'), softness: p('softness'), phase: p('phase')})})

Tip. Keep softness above 0. At exactly 0 the edge is an undefined hard step rather than a crisp one.

See also

  • stripeBands — A mask of straight parallel stripes that scroll with the layer's clock.
  • dotLattice — A mask of round dots on a square grid, with optional row stagger, drift and twinkle.

Used by

Ripples