Contact Support

VectorDistort

The VectorDistort node takes the paint from a reference frame and propagates it through the rest of the sequence using the motion vectors generated by the SmartVector node.

See also SmartVector.

Inputs and Controls

Connection Type

Connection Name

Function

Input

 

Src

The sequence containing the paint corrections and the source of the motion vectors.

SmartVector

The motion vectors generated by SmartVector node. You can connect the SmartVector directly or read in the .exr files created by the node.

Control (UI)

Knob (Scripting)

Default Value

Function

VectorDistort Tab

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. The output between the GPU and CPU is identical on NVIDIA GPUs, but using the GPU can significantly improve processing performance.

Nuke supports AMD GPUs on late 2013 Mac Pro 6,1, mid 2015 Mac Pro 11,5, and late 2016 MacBook Pro 13,3, running OS X 10.9.3 'Mavericks', or later. Bit-wise equality between GPU and CPU holds in most cases, but for some operations there are limitations to the accuracy possible with this configuration.

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.

GPU processing also requires certain NVIDIA and AMD drivers. For more information on the minimum requirements, refer to the Nuke Release Notes available in Help > Release Notes.

reference frame

reference_frame

1

Sets the frame used to calculate the warp at every other frame in the sequence.

set to current frame

N/A

N/A

Click to set the reference frame to the frame currently under the playhead.

hold frame

hold_frame

enabled

When enabled, the reference frame is warped instead of the current frame. This is equivalent to inserting a FrameHold node into the node tree after the source.

When disabled, the current frame is warped instead of the reference frame.

frame distance

frame_distance

0

Sets the trade-off between warping things well for nearby frames against frames further away. Each shot has its own optimum frame distance value so try several values to see what produces the best results.

For example, warping up to 20-30 frames away from the reference frame, or sequences with rapid motion, typically require values closer to 0. Warping over 100 frames away, or sequences with slower motion, typically require values closer to 6.

Note:  The maximum value for this control is passed down the node tree from a SmartVector node's frame distance control.

Output

output

output_mode

warped src

Sets the type of output produced by VectorDistort:

warped src - output the warped Src input using the reference frame as a template for warping the rest of the sequence.

st-map - output the st-map for the warp from the reference frame to the current frame. This is useful if you want to bake the results of the node for later.

st-map inverse - output the inverse st-map for the warp, that is, the warp from the current frame to the reference frame.

blur size

blur_size

0

Controls the amount of blur applied to the internally calculated STMap. Increasing the blur size can remove local distortions in the warped result, particularly in longer sequences.

channels

channels

rgba

Sets the channels to which the warp is applied.

image filter

warp_filter

Cubic

Select the filtering algorithm to apply the warp to the image, similar to that of the filters used in the IDistort and STMap nodes.

Impulse - remapped pixels carry their original values.

Cubic - remapped pixels receive some smoothing.

Keys - remapped pixels receive some smoothing, plus minor sharpening (as shown by the negative -y portions of the curve).

Simon - remapped pixels receive some smoothing, plus medium sharpening (as shown by the negative -y portions of the curve).

Rifman - remapped pixels receive some smoothing, plus significant sharpening (as shown by the negative -y portions of the curve).

Mitchell - remapped pixels receive some smoothing, plus blurring to hide pixelation.

Parzen - remapped pixels receive the greatest smoothing of all filters.

Notch - remapped pixels receive flat smoothing (which tends to hide moire patterns).

Lanczos4, Lanczos6, and Sinc4 - remapped pixels receive sharpening which can be useful for scaling down. Lanczos4 provides the least sharpening and Sinc4 the most.

black outside

black_outside

enabled

When enabled, render black pixels outside the image boundary, making it easier to layer the element over another.

When disabled, the outside area is filled with the outermost pixels of the image sequence.

In most cases, you should keep black outside checked. However, you may want to turn this off for camera shake, or if you want to texture-map or intersect the output with a similar shape.

Note:  Enabling black outside also adds a solid alpha, covering the input image area if no alpha is present.

premult

premult

disabled

When enabled, Nuke premultiplies the output channels by the input mask channel. This is the equivalent to adding a Premult node after this node.

Step-by-Step Guides

Applying Motion Vectors to the Source