# VectorBlur

> Motion blur along a vector layer (motion from AIVectorGenerator, ScanlineRender, Cycles or EEVEE).

Motion blur along a vector layer (motion from AIVectorGenerator, ScanlineRender, Cycles or EEVEE). Motion amount scales the vectors; shutter in frames with a shutter offset (centred, start, end, custom); samples; vectors can be forward + backward or forward only; v up matches Nuke's vector convention.

| Node | VectorBlur |
|---|---|
| Menu | Filter › VectorBlur |
| **Names in each format** | |
| .oink comp (JSON) | `"type": "OC_N_vectorblur"` |
| .nk script | none: written as an Oink node |
| Python | `nuke.createNode("OC_N_vectorblur")` |
| Assistant (MCP) | `create_node(type="VectorBlur")` |
| Tab search | `vectorblur`, or its initials `vb` |

![VectorBlur properties](/shots/nodes/vectorblur@2x.webp)

## Inputs and outputs

| Port | Name | Type |
|---|---|---|
| input 0 | Source | image |
| output 0 | Image | image |

## Knobs

Panel tab **Vectorblur**, in panel order.

| Knob | Label | Type | Default | Range / values | .nk knob | Description |
|---|---|---|---|---|---|---|
| `uv_layer` | uv layer | text | `motion` |  |  | Layer with the vectors (motion, forward, smartvector_f01_v01, ...) |
| `vector_mode` | vectors | menu | `both` | both (forward + backward), forward (forward only) |  |  |
| `v_up` | v up (Nuke) | bool | `true` |  |  | Vectors are Nuke convention (v up). Off: v down |
| `scale` | motion amount | float | `1` | 0 to 4 |  |  |
| `shutter` | shutter | float | `0.5` | 0 to 2 |  | Open time in frames (0.5 = 180 degrees) |
| `shutter_offset` | shutter offset | menu | `centred` | centred, start, end, custom |  |  |
| `shutter_custom` | offset | float | `0` | -2 to 2 |  |  |
| `samples` | samples | float | `16` | 1 to 256 (integer) |  |  |

### Other knobs (Python, .nk and the assistant; not on the panel)

| Knob | Label | Type | Default | Range / values | .nk knob | Description |
|---|---|---|---|---|---|---|
| `gl_color` | Viewer Controls Color | float ×3 | `0, 0, 0` | 0 to 1 |  |  |
| `postage_stamp_frame` | Static Frame | int | `1` | -2147483648 to 2147483647 |  |  |
| `lifetimeStart` | Lifetime Start | int | `0` | -2147483648 to 2147483647 |  |  |
| `lifetimeEnd` | Lifetime End | int | `100` | -2147483648 to 2147483647 |  |  |
| `useLifetime` | Use Lifetime | boolean | `false` |  |  |  |
| `cached` | Cached | boolean | `false` |  |  |  |
| `bookmark` | Bookmark | boolean | `false` |  |  |  |
| `dope_sheet` | Dope Sheet | boolean | `false` |  |  |  |
| `clone_group` | Clone Group | string |  |  |  |  |
| `link_source` | Link Source | string |  |  |  |  |
| `link_overrides` | Link Overrides | string |  |  |  |  |
| `split_views` | Split Views | string |  |  |  |  |


---
Sources: opencomp_core/nodes/ai/aimotion.py, opencomp_electron/src/components/properties/knobSchema.ts, opencomp_core/nodes/help/vectorblur.md
