Roughen
Displaces an image by a fractal-noise vector field to give alpha edges a torn, rough, hand-drawn look.
Category: Effects Menu path: Effects > Roughen
Ports
| Port | Type | Direction | Description |
|---|---|---|---|
in | imageRgba16f | input | Input image |
out | imageRgba16f | output | Roughened result |
Parameters
| Param | Type | Default | Description |
|---|---|---|---|
amount | scalar | 0.0 | Displacement strength in comp pixels. 0 = no effect. Keyframeable. |
scale | scalar | 50 | Noise feature size in comp pixels. Smaller = finer, busier wobble; larger = broad, smooth waviness. Keyframeable. |
complexity | scalar | 2 | fBm octaves, clamped to 1–6. Higher adds finer detail layered on the base wobble. Keyframeable. |
evolution | scalar | 0.0 | Animatable noise phase. Animate it to make the rough edge churn over time. Keyframeable. |
seed | scalar | 0.0 | Varies the noise pattern without changing its character. Keyframeable. |
Expose Channels
When enabled (E button on node header), adds input ports that override params via edge connections:
| Port | Type | Overrides |
|---|---|---|
amount_in | scalar | amount |
How It Works
For each pixel the shader evaluates two decorrelated fractal-Brownian-motion (fBm) noise channels — built from Perlin noise — at the pixel's comp-pixel position divided by scale, offset by evolution (as a 3D noise slice) and seed. The two channels form a 2D displacement vector; the input is then sampled at uv + displacement * amount. Because nearby pixels share nearly the same displacement, solid interiors stay uniform while alpha boundaries wobble — producing the characteristic roughened / torn edge. All noise lookups use the comp resolution (not the render resolution), so the feature size and displacement look identical across Draft / Preview / Full quality. When amount is 0 the node is a pure passthrough and the GPU pass is skipped. Animating evolution flows through normal keyframe param resolution, so no special cache handling is needed.
Usage Examples
Basic: Rough up a shape edge
- Draw a shape (Rectangle → DrawShape) or render some text
- Add a Roughen node after it
- Set
amountto ~6 andscaleto ~30 for a torn-paper edge
Creative: Animated boiling outline
- Keyframe
evolutionfrom 0 to a few units over the comp duration - The roughened edge churns and "boils" like traditional cel animation
Advanced: Driven roughness
- Enable expose channels and connect a field- or audio-driven scalar to
amount_in - The edge roughness reacts to your driver (e.g. louder = rougher)
Tips
- Roughen samples within the existing frame, so very large
amountvalues near a tight crop may pull in transparent pixels at the boundary — leave a little padding around content - Lower
scalewith highercomplexityfor a fine, sandy edge; higherscalewith lowcomplexityfor slow, broad waves - For a stable look hold
evolutionconstant; for motion animate it rather thanseed