Blur
Apply gaussian, box, directional, radial, or motion blur to images and volumes.
What it does
Blur softens an image or a Volume using one of several algorithms: Gaussian falloff, uniform Box averaging, Directional streaking, Radial zoom, Circular spin, a per-pixel Vector Field flow, temporal Motion Blur, or a Depth of Field pass driven by a depth input. Radius sets the strength in pixels, or in voxels on a Volume. Most modes add their own controls: Angle for Directional, Center for Radial and Circular, Samples and Shutter for Motion Blur, Focus Distance and Focus Range for Depth of Field.
Fed a live 3D object, Blur either stays a live, orbit-able object with the blur applied in screen space (Rasterize off), or collapses to a flat, camera-facing card first (Rasterize on). Wiring a depth input also enables edge-preserving blur through Depth Threshold.
When to use it
Softening an image: glow, defocus, glass, dreamy backgrounds.
Directional streaks for fast motion, or a radial zoom or spin blur.
Defocus based on distance from camera: wire a depth input and use Depth of Field.
Blur that follows a flow field: wire a vector field and switch to Vector Field mode.
Blur that respects depth edges rather than smearing foreground into background: raise Depth Threshold.
Blurring a Volume, where Gaussian mode works in 3D.
| Parameter | Type | Default | What it does |
|---|---|---|---|
content_in | Collection or GPU Geometry or GPU Splats or Field or MorphField or Collection Sequence or Frame Sequence or Volume Sequence or Field Sequence | — | — |
vector_field | Raster or ForceField | — | Vector field controlling per-pixel blur direction |
depth_in | Raster | — | Depth buffer (R channel = linear depth). Connect from a 3D render's depth output. |
rasterize | Boolean | false | Off: stay a live 3D object — blur applied in screen space, orbit-able. On: collapse to a flat raster card. |
billboard | Boolean | true | When rasterized (ON), keep the card facing the camera. Off: a fixed-orientation world plane whose live contents still update as you orbit. |
camera | Camera3D | — | Camera to capture the card through. Empty = active viewport camera; connected = locked to that camera even as you orbit. |
blur_type | String | "Gaussian" | Blur algorithm: Gaussian (smooth falloff, FIR — exact, O(σ²) per pixel), Gaussian (IIR) (Young-Van Vliet recursive — approximate, O(1) per pixel — wins for large σ), Box (uniform), Directional (motion streaks), Radial (zoom), Circular (spin), Vector Field (per-pixel direction), Motion Blur (temporal averaging), Depth of Field (focus distance + depth). One of: Gaussian, Gaussian (IIR), Box, Directional, Radial, Circular, Vector Field, Motion Blur, Depth of Field. |
radius | Number | 5 | Blur radius in pixels (2D) or voxels (3D) |
angle | Number | 0 | Direction of motion blur in degrees |
center_x | Number | 0.500 | Horizontal center (0 = left, 1 = right) |
center_y | Number | 0.500 | Vertical center (0 = top, 1 = bottom) |
samples | Number | 8 | Number of taps blended along the motion streak (more = smoother, esp. at large radius; slower) |
shutter | Number | 1 | Temporal window in frames (wider = more blur) |
focus_distance | Number | 0.500 | Distance to the focal plane (0 = near, 1 = far). Objects at this depth are sharp. |
focus_range | Number | 0.100 | Depth range around focal plane that remains in focus. Smaller = shallower DOF. |
max_blur | Number | 20 | Maximum blur radius in pixels for objects fully out of focus |
depth_threshold | Number | 0 | Depth edge threshold (0 = disabled). Skip blur neighbors whose depth differs more than this from center pixel. |
position | Vec3 | (0, 0, 0) | Translation (X, Y, Z) |
rotation | Vec3 | (0, 0, 0) | Rotation in degrees (X, Y, Z) |
scale | Vec3 | (1, 1, 1) | Scale (X, Y, Z) |
anchor | Vec3 | (0, 0, 0) | Pivot offset (X, Y, Z) — rotation/scale orbit this point |
spatial_strength | Field | — | Spatial field controlling where the effect applies (0=bypass, 1=full) |
strength | Number | 1 | Effect strength / wet-dry (0 = no effect, 1 = full). Editable, wirable, keyframable. |
Gotchas
Depth Threshold takes effect only once a depth input is wired and the value is above 0. Neighbouring depth values are compared and blending is skipped across edges where the difference exceeds the threshold, which keeps foreground subjects crisp while the background blurs.
Radial, Circular, Motion Blur and Depth of Field each read Radius as their main strength control but scale it differently: zoom amount, spin angle, streak length, maximum defocus. The same Radius value reads as very different amounts of blur between modes.
Switching Blur Type to Vector Field before wiring anything into Vector Field leaves the image passed through unblurred. Connect a flow field first.
Gaussian (IIR) gives visually the same result as Gaussian and stays fast at very large radius values. Use it when pushing Radius high and interaction needs to stay responsive.
Worked example
Add a Blur and wire an image into Content.
Leave Blur Type on Gaussian and raise Radius to the softness you need.
For a motion streak, switch Blur Type to Directional and set Angle to match the direction of movement.
For a camera-style defocus, wire a depth output into Depth In, switch Blur Type to Depth of Field, and adjust Focus Distance and Focus Range until the subject reads sharp and the rest falls away.
If Content is a live 3D object, leave Rasterize off to keep it orbit-able while blurred. Turn Rasterize on for a flat, camera-facing card instead.