VectorBlur

Generates motion blur by blurring each pixel into a straight line, using the values from the motion vector channels (u and v channels) to determine the direction of the blur. You can create motion vectors using the VectorGenerator, MotionBlur2D, MotionBlur3D, ScanlineRender, or RayRender nodes. Many third-party applications can also produce motion vector information as two-channel, floating point images that you can use with VectorBlur. If possible, you should unpremultiply these images.

You can use the constant uv offset values to add motion blur for camera movement and shake. Subtract the xy translation or camera rotation at the current frame from the same values at the next frame to get the correct values to use.

See also VectorGenerator, MotionBlur2D, MotionBlur3D, ScanlineRender, and RayRender.

Inputs and Controls

Connection Type

Connection Name

Function

Input

unnamed

The image sequence to receive the blur effect.

mask

An optional image to use as a mask. By default, the blur is limited to the non-black areas of the mask.

At first, the mask input appears as triangle on the right side of the node, but when you drag it, it turns into an arrow labeled mask. If you cannot see the mask input, ensure that the mask control is disabled or set to none.

Control (UI)

Knob (Scripting)

Default Value

Function

VectorBlur Tab

channels

channels

none

The effect is only applied to these channels.

If you set this to something other than all or none, you can use the checkboxes on the right to select individual channels.

Local GPU

gpuName

N/A

Displays the GPU used for rendering when Use GPU if available is enabled. Local GPU displays Not available when:

Use CPU is selected as the default blink device in the Preferences.

no suitable GPU was found on your system.

it was not possible to create a context for processing on the selected GPU, such as when there is not enough free memory available on the GPU.

You can select a different GPU, if available, by navigating to the Preferences and selecting an alternative from the default blink device dropdown.

Note:   Selecting a different GPU requires you to restart Nuke before the change takes effect.

Use GPU if available

useGPUIfAvailable

enabled

When enabled, rendering occurs on the Local GPU specified, if available, rather than the CPU.

Note:  Enabling this option with no local GPU allows the script to run on the GPU whenever the script is opened on a machine that does have a GPU available.
You should also select this if you wish to render from the command line with the --gpu option.

See Nuke 15 Release Notes for more information on the GPUs Nuke supports.

uv channels

uv

none

Sets the channel(s) to control the horizontal (u) and vertical (v) size of the blur vector.

Note:  If the uv values are read from a file, enable the Read node’s colorspace raw data checkbox. See Read.

mv presets

mv_presets

Nuke Scanline Render

Sets which renderer format to apply to the motion vectors. Each preset contains a scale and offset specific to the renderer, so that the vectors are in the format expected by Nuke.

For example, if VectorBlur is downstream of a PRMan node, select PRMan from the dropdown.

vector preprocessing

output

output

result

Sets the output of the VectorBlur node:

result - the final result of the blur is displayed in the Viewer.

uvs - the uv map used to generate the motion vectors.

blur uv

blur_uv

none

When set to uniform or linear, applies the motion blur filter to the motion vectors themselves, before using them to blur the image.

This option can smooth out gradients in the motion vectors, resulting in a softer blur between regions with very different motion.

none - don't blur the UVs.

uniform - apply a small uniform blur to soften edges in the UV map. This is how blur was calculated pre-Nuke 10.

linear - apply a linearly-weighted blur to blend between regions with different motion. This has a stronger effect than the uniform option.

invert uv

invert_uv

disabled

When enabled, invert the motion vectors before blurring them.

Note:  The effect is only visible when the shutter is not centred at the current frame (for Nuke vectors, this means when the shutter offset is not equal to -0.5).

uv offset

uv_offset

0

Sets a constant value to add to the uv channels values.

Note:  If the uv values are read from a file, this should be -0.5 or -127/255.

uv alpha

N/A

disabled

Enables the associated alpha channel to the right. Disabling this checkbox is the same as setting the channel to none.

alpha

none

If your motion vectors were premultiplied, set this channel to the channel used to multiply the vectors to improve the results.

Tip:  Where possible, use vectors that have not been premultiplied.

motion blur

blur type

blur_type

gaussian

Sets the profile to use along the direction of blur:

uniform - a box-like profile with uniform weighting along the blur vector.

gaussian - a gaussian profile with a softer fall-off towards the ends of the blur vector.

motion amount

scale

0

Sets the value by which the u and v channels are multiplied. Set this to 0.5 for motion blur from a standard shutter.

motion falloff

motion_falloff

0.33

Controls the steepness of the gaussian fall-off on the blur. 0 gives a very sharp fall-off, while 1 gives a shallow fall-off.

motion offset

offset

-0.5

Sets the shutter offset, causing the shutter to open at frame +/- motion offset.

expand blur bbox

grow_bbox

0

Sets the number of pixels added to the outside edge of image. Set this manually for cropped images with non-zero uv channels.

soft lines

soft_lines

disabled

When enabled, increase the softness of the motion blur by drawing wider lines, at the expense of slower processing.

blur inside

blur_inside

enabled

When soft lines is enabled, apply a small blur inside regions with zero motion, to give a smoother transition to areas with motion blur.

normalize

normalize

enabled

When enabled, normalize the results to compensate for tearing (holes appearing behind moving objects) and collisions (objects moving on top of one another) in the rendered output.

Normalizing can exacerbate the effects of tearing and collisions, but it tends to give a softer blur than not normalizing.

mask

N/A

disabled

Enables the associated mask channel to the right. Disabling this checkbox is the same as setting the channel to none.

maskChannelInput

none

The channel to use as the alpha channel.

inject

inject

disabled

Copies the mask input to the predefined mask.a channel. Injecting the mask allows you to use the same mask further downstream.

invert

invert_mask

disabled

Inverts the use of the mask channel, so that the effect is limited to the non-white areas of the mask.

fringe

fringe

disabled

When enabled, only apply the effect to the edge of the mask.

When disabled, the effect is applied to the entire mask.

mix

mix

1

Dissolves between the original image at 0 and the full effect at 1.

Step-by-Step Guides

Adding Motion Blur Using VectorBlur

Example Nuke Scripts

Nuke 10.0

Using MotionBlur2D and VectorBlur to generate motion blur

Using MotionBlur3D and VectorBlur to generate motion blur

Using ScanlineRender and VectorBlur to add motion blur to particles

Nuke 9.0 or Earlier

Using MotionBlur2D and VectorBlur to generate motion blur

Using MotionBlur3D and VectorBlur to generate motion blur

Using ScanlineRender and VectorBlur to add motion blur to particles