Overview
Vector Distortion reads 2D vector values (with a direction and an amplitude per pixel) from an image and moves the pixels of the source accordingly. Unlike a grayscale map, a vector holds two components (X and Y) that can be positive or negative.
Typically used after an Optical Flow node, which analyzes the movement between frames and generates motion vectors. It enables effects where the distortion physically follows the movement in the shot.
Where to find this node
- Effects Library:
Tools > Warp > Vector Distortion - Quick add: right-click in the Node Editor →
Add Tool > Warp > Vector Distortion
Vector Distortion vs Displace
- Displace
- Uses a luminance or a channel to displace. Values between 0 and 1. General purpose.
- Vector Distortion
- Uses vector channels (X and Y with signed values). More precise for motion data. Typically used in an Optical Flow pipeline.
Rule: distortion from a pattern / standard map → Displace. Distortion from motion vectors (optical flow, pro velocity map) → Vector Distortion.
Inputs
- Input (orange) - the 2D image to distort.
- Distort (green) - optional. A reference image carrying the vector channels (e.g. the output of Optical Flow). If it is not connected, the vectors are taken from the main input.
- Effect Mask (blue) - optional. Limits the distortion.
Setup
Optical Flow + Vector Distortion:
MediaIn → Optical Flow → Vector Distortion (animated Scale) → MediaOut
↑ ↓
└──────────────── source input (Distort input)
Custom motion blur through multipassing:
MediaIn → Optical Flow
For each sub-frame:
Vector Distortion (Scale * temporal offset)
Add up all the results (Merge Add) → MediaOut
Stylized "warped by the wind" effect:
MediaIn → Vector Distortion (Distort = Fast Noise with animated motion) → MediaOutControls tab
- X Channel / Y Channel
- Channels of the vector source used for each distortion axis. Typically, for an Optical Flow map, X channel = vx, Y channel = vy. For a custom map, it can point to any of R/G/B/A.
- Flip X / Flip Y
- Reverses the distortion direction on each axis. Lets you use a forward motion map to simulate backward motion.
- Scale
- Global multiplier of the amplitude. 0 = no distortion, 1 = vectors as they are, >1 = amplified distortion.
- Center Bias
- Shifts the origin of the displacement. Useful if the vectors have a non-zero center value by design.
- Lock X/Y
- Locks the X and Y scales for symmetrical adjustments, or unlink them for independent control.
- Edges
- Canvas (transparent/black on revealed edges) or Duplicate (extends the edge pixels, no blur artifact).
Use cases
- Custom motion blur - Optical Flow + Vector Distortion with a Scale computed on sub-frames = motion blur generated after the fact on footage without native blur.
- Retiming while preserving motion - combined with retime nodes (Time Stretcher), it produces slow motion with consistent motion blur.
- Warping with a custom vector map - use a map where R/G encode specific directions = per-pixel directional control.
- Velocity-based stylization - the faster a pixel moves, the more it is distorted (with Scale tied to the vector magnitude) = a stylized speed line effect.
- Correcting motion errors - if an optical flow analysis generated errors, Vector Distortion can counter-apply them to correct them.
- Particle trailing - a particle system with custom vector channels = each particle leaves a trail distorted by its movement.
Tips
- Optical Flow upstream is required for most uses - without correctly generated motion vectors, Vector Distortion produces nothing useful.
- Scale 1.0 = identity - the vectors are applied as they are. Beyond that, you amplify the effect past the real motion for a stylized look.
- Edges Duplicate recommended - avoids black edges when the distortion pushes pixels out of frame.
- Flip for reverse motion - turn a forward motion vector into a backward one = a visual rewind effect.
- An advanced node with a specialized use - this node is rare in a standard workflow. For general creative warping, prefer Displace or Grid Warp.
- Cache the intermediate results - Optical Flow + Vector Distortion = heavy to compute. Enable the Fusion cache on the Optical Flow so it is not recomputed on every change.
- For simple, native motion blur, prefer the
Vector Motion Blurnode, which is dedicated and easier to set up.
