Overview
Vector Motion Blur reads two floating-point channels that represent the movement of each pixel between the previous and the next frame. Example: a value of 1 in the X channel means the pixel moved 1 pixel to the right; -10 = 10 pixels to the left.
Result: each pixel gets a blur in its own direction, with its own strength. A character running to the right gets a horizontal blur, while a static background stays sharp - all in a single render.
Where to find this node
- Effects Library:
Tools > Blur > Vector Motion Blur - Quick add: right-click in the Node Editor →
Add Tool > Blur > Vector Motion Blur
Inputs
- Input (orange) - required. The 2D image to blur.
- Vectors (green) - required. A motion vector AOV from a 3D render or from Fusion's 2D
Optical Flownode. - Vector Mask (white) - optional. A mask controlling which pixels read the vectors.
- Effect Mask (blue) - optional. A standard mask that restricts the blur.
Setup
Standard setup with a 3D render that includes a motion vector pass:
Loader (beauty) ──→ Input
Loader (motion vector pass, EXR) ──→ Vectors
→ Vector Motion Blur → SaverAlternative setup with Optical Flow:
Loader (plate) ──→ Input + Optical Flow
↓
Vectors → Vector Motion BlurControls tab
- X / Y Channel
- Selects which channels of the Vectors image hold the X and Y movement data. Typically R for X and G for Y - but some renderers encode it differently (e.g. in special channels like U/V or Velocity). Adjust it to match the source.
- Flip Channel
- Reverses the direction of the vectors per axis (equivalent to multiplying by -1). Useful if the vectors come out of your renderer reversed (conventions differ between Arnold / Redshift / V-Ray).
- Lock Scale X/Y
- Links both axes. Unchecking it lets you scale X and Y separately (rare).
- Scale
- Global multiplier of the vectors. Adjust it to the absolute value of the movement in the pass. Vectors in "pixels" → Scale = 1. Normalized vectors → Scale = resolution. High Scale = stronger motion blur.
Generating motion vectors
From a 3D render
The cleanest method. Professional 3D renderers export a motion vector AOV (Arbitrary Output Variable):
- Arnold -
motionvectorAOV - RenderMan -
dPdtimechannel or a dedicated vector pass - V-Ray - Velocity Render Element
- Redshift - Motion Vectors pass
Export it as OpenEXR float16 or float32 - essential to handle negative values and keep the precision. An 8-bit EXR is useless.
From a plate with Optical Flow
If you do not have native motion vectors (live-action plate), use Fusion's Optical Flow node. It analyzes the movement between frames through image analysis and generates usable vectors.
Less accurate than 3D vectors (matching errors, no vectors on uniform areas) but often enough to add a subtle motion blur to a shot that had none.
Vector Motion Blur vs Directional Blur
- Directional Blur
- A uniform blur in a single direction across the whole image. Simple but not very realistic - every pixel moves as if the camera were panning.
- Vector Motion Blur
- A per-pixel blur, each in its own direction. A plane flying by blurred along its axis, a background that stays sharp, all in the same shot. Realistic but requires a source of vectors.
Rule: Vector Motion Blur whenever vectors are available (3D render). Directional Blur for a global stylized effect or when you have no motion information.
Use cases
- Post-render 3D motion blur - use case #1. Render without motion blur (faster) + a motion vector AOV, then add the blur in post with Vector Motion Blur. A huge render time saving and full control in post.
- Matching CG to a plate - when the plate has natural motion blur, the composited 3D element must match. Render the CG without blur + vectors, then apply a blur that matches the shutter speed of the plate.
- Adding motion blur to a plate - a plate shot with a shutter speed that is too fast (too crisp). Optical Flow → Vector Motion Blur adds a realistic blur that follows the real movement.
- Simulating motion blur on a still - manually generate a vector map (for example with a multicolor
Background) to simulate the movement you want to apply. - Stylized control - Scale animated from 0 to max → a motion blur that kicks in gradually (a "start-up" or "burst" effect).
Tips & pitfalls
- Check the X/Y channels - depending on the renderer, the vectors are in R/G, R/A or custom channels (ForwardX, ForwardY). Try Flip Channel if the blur goes the wrong way.
- Scale based on the shutter - to match a real 180° shutter (standard film motion blur), Scale = 0.5. For 360° (full motion blur), Scale = 1. Beyond that = a stylized effect.
- OpenEXR is mandatory - vectors in 8-bit PNG do not work (negative values are impossible).
- Performance vs native 3D motion blur - render + vector pass + Vector Motion Blur in post is almost always faster than a 3D render with motion blur enabled (which multiplies the samples by N).
- Optical Flow on uniform areas - the analysis fails when there are no features to track (plain sky, white wall). Vector Motion Blur looks bad in those areas. Mask out the problem areas with an Effect Mask.
- For ultra-fine control, combine Vector Motion Blur on a 3D pass + a global Directional Blur downstream to simulate added handheld / shake.
