Nuke Motion Blur
Add real directional motion blur to static frames
- image
- IMAGE
A static image of something that should be moving looks dead. A car, a camera pan, a spinning fan - if it isn't blurred, it reads as frozen. NukeMotionBlur is the directional blur node that adds the smear of real movement, so you can convince the eye that the subject was mid-motion when the frame was captured. It's the ComfyUI port of Nuke's MotionBlur, and it does the one job properly.
You'll want it for two kinds of jobs. First, believability: after you composite a moving subject into a scene, a little directional blur sells the motion. Second, style: deliberate speed streaks across an image have a look that reads "kinetic" instantly. Either way, the node is one knob in one direction away from a fake.
How it works
Instead of a symmetric blur, it averages the image along a line. You pick a distance and an angle, the node samples the image at multiple offsets along that line (that's the samples control), and averages the samples together. More samples = smoother streak at the cost of compute. shutter scales how far the smear extends relative to the distance - it's the analog of camera exposure time, 0 to 1 - and center_bias shifts the weighting so the smear trails more to one side, which makes the blur read more like an actual moving camera than a symmetric streak.
mix blends the blurred result back into the original, so you can lay a faint streak over a sharp image rather than fully replacing it.
The inputs that matter
distance- how long the streak is, 0 to 100.angle- direction of the motion in degrees, −180 to 180. 0 is horizontal.samples- quality of the streak, 1 to 32. Crank it for a smooth result; drop it for fast previews.shutter- smear length scale, 0 to 1 (default 0.5).center_bias- pulls the smear weighting to one side, −1 to 1.mix- how much blur to keep, 0 to 1.
Output is a single IMAGE at the same resolution as the input. No mask input here - if you need motion blur on just part of the frame, route it through a masked merge instead.
Installing it
It ships in the Nuke Nodes pack:
cd ComfyUI/custom_nodes
git clone https://github.com/sumitchatterjee13/nuke-nodes-comfyui.git nuke-nodes
cd nuke-nodes
pip install -r requirements.txt
Or search "Nuke Nodes" in ComfyUI Manager and restart. You'll find it under the Nuke category. Pure PyTorch implementation, so the heavier dependencies in requirements.txt (OpenImageIO is the notable one) aren't needed just for this node.
Common issues
- The streak looks like a hard line, not motion - raise
samples; low sample counts produce visible stepping along the blur. - It's smearing vertically when you wanted horizontal - check the
angle. 0 is horizontal, 90 is vertical. - The effect is too subtle to see -
distanceandshutterboth scale the smear; if either is small you'll get a barely-there result. And remembermixcontrols final strength. - Direction looks "off" for a pan - set a small
center_biastoward the trailing side of the motion; pure symmetric streaks can look artificial.
If something in your composite should be moving, this is the fastest way to make the viewer believe it.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| distance | FLOAT | 10.00–100 | — |
| angle | FLOAT | 0-180–180 | — |
| samples | INT | 81–32 | — |
| shutter | FLOAT | 0.500–1 | — |
| center_bias | FLOAT | 0.00-1–1 | — |
| mix | FLOAT | 1.000–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |