concentricRings
Cut the child into rings around center and spin each ring by its own amount.
concentricRings(slots: {
center: ArgSpec
intensity: ArgSpec
rings: ArgSpec
smoothness: ArgSpec
seed: ArgSpec
speedRandomness: ArgSpec
}): UvMapSource
Import warps from shaders/std and use warps.concentricRings.
rings is how many rings fit in one unit of distance. intensity is the largest still rotation a ring can have, in degrees. smoothness (0–1) blends neighbouring rings instead of cutting between them. seed reshuffles the per-ring amounts and speedRandomness (0–1) lets rings spin at different rates. Declare animatedTime: {speed: 'speed'}.
Parameters
| Name | Type | Notes |
|---|---|---|
slots | `{ |
center: ArgSpec
intensity: ArgSpec
rings: ArgSpec
smoothness: ArgSpec
seed: ArgSpec
speedRandomness: ArgSpec
}` | |
Example
map: warps.concentricRings({center: p('center'), intensity: p('intensity'), rings: p('rings'), smoothness: p('smoothness'), seed: p('seed'), speedRandomness: p('speedRandomness')})
See also
twirl— Twist the child aroundcenter, turning more the farther a pixel is from it.barOffset— Cut the child into parallel bars and shift each one sideways by a random amount.