Builds a 0–1 weight along the axis of the point index, maps it into Min–Max, applies it to the chosen attribute, and outputs the resulting PointCloud. Feeding a Saw waveform LFO into Phase runs the wave through the flock in tempo sync.
Mode (dropdown)
- Wave (default) — a cosine wave with the phase shifted per point. The weight is
0.5 - 0.5cos((Phase - index × Stagger) × 2π), so as with the LFO’s Sine, the start of the phase is a trough
- Sweep — a window of width
Sweep width circulates over the normalized index. The distance to the window wraps, so the end and the start appear joined
Target attribute (dropdown)
- UniformScale (default) — multiplies the mapped value into the scale (minimum 0.001)
- ColorGradient — interpolates ColorA→ColorB and overwrites the color
- RotationY — adds
mapped value × 360 degrees to the Y-axis rotation
- PositionY — adds the mapped value to Y
Parameters
- Phase (default 0) — in Sweep only the fractional part is used, and 0→1 is one cycle
- Per-index offset (Stagger) (default 0.05) — the phase difference between adjacent points. Wave only
- Sweep width (default 0.15, minimum 0.005) — the width of the window. Sweep only
- Min / Max (default 1 / 2.5)
- ColorA / ColorB — used only by ColorGradient
ColorGradient does not use Min / Max; it uses the weight itself as the interpolation ratio from ColorA to ColorB.
Input ports
| Port ID | Type |
PointCloud | PointCloudInput |
Phase | float |
Per-index offset | float |
Sweep width | float |
Min | float |
Max | float |
ColorA | Color |
ColorB | Color |
Output ports
| Port ID | Type |
PointCloud | PointCloudOutput |
Scriptable members
| Path | Type |
phaseInput | float |
staggerInput | float |
widthInput | float |
minInput | float |
maxInput | float |
Synapse Apps (scripting)
await synapse.modules.create({ type: "WaveMap" })