Vector (Motion) Blur Node
CPU Compositor Only
The Vector Blur node is a fast method for simulating Motion Blur in compositing. It uses the vector speed render pass to blur the image pixels in 2D.
Image input, to be linked to the “Combined” render pass.
Z depth, to be linked to the “Depth” render pass.
Input for the “Vector” render pass. See Cycles render passes.
Scaling factor for the motion vector (actually the “shutter speed” in frames).
The vector blur could produce artifacts like streaks, lines and other. To tackle these problems, the filter applies clamping, which can be used to limit which pixels get blurred. The speed is set in pixel units.
- Maximum Speed
The maximum threshold. The majority of artifacts are caused by pixels moving too fast.
- Minimum Speed
The minimum threshold for moving pixels can separate the hardly moving pixels from the moving ones. Especially when the camera itself moves, the vector mask can become the entire image.
Interpolates motion between frames using a quadratic Bézier function rather than a linear function.
Motion blurred image output.
Even with a correct compositing setup with Image, Z and Speed nodes all linked to the appropriate passes, there may still be artifacts. The 2D render passes does not contain 3D information, and so the information what is behind a moving object or outside the camera view is lost.
Better results can be achieved by rendering the scene into multiple render layers, applying vector blur to each render layer, and then compositing the results together. Typically an animated character would be rendered in a separate render layer than the background set. Especially if hair or transparency is involved this is important.
For other artifacts it can help to slightly blur the Speed pass or to set a Maximum Speed limit. This helps to smoothen out the motion, but too much blurring leads to its own problems.
The speed vector in this example was created by animating the patterned sphere horizontally and using a frame at the mid-point of the sequence.