I have a stop-motion video I am working on, and I want to add motion blur to the character of the video. The character is the only thing that moves, yet if I use the Vector Blur node in the compositor, it applies a blur to every object. If I set min-blur up too high, it doesn't allow the character to have motion-blur, but it I have it too low, it makes everything blurry. Is there a way to fix this or do I need to use another node to add motion blur? I am trying to simulate what After Effects does when you add the Motion Blur effect to footage. Here's an image of my trouble. I have used a split-viewer so you can see the difference between original and current motion blur settings. (You'll have to view the image larger, you can barely see it in the small preview)
-
$\begingroup$ The vector blur node is designed to use speed and directional data which is only available when the rendering is of an animation inside blender. You could try to fake it by mixing multiple image sequence nodes with slightly different offsets. $\endgroup$– gandalf3Commented Jun 2, 2014 at 6:39
-
$\begingroup$ Wouldn't the object need to be on a diferent layer to be able to do that without afecting the rest of the image? $\endgroup$– YoMismoCommented Jun 2, 2014 at 6:51
-
$\begingroup$ Not if the rest of the image is still, then it will only apply motion blur to the moving parts. The problem is, Vector Blur applies a blur to everything. I'm looking into another node setup. $\endgroup$– rioforceCommented Jun 2, 2014 at 15:43
-
$\begingroup$ @gandalf3 I tried the separate offsets, but it adds an annoying sort of interlaced frames look. I'll keep researching and see if I can get an answer if nobody else can get one fist. ;) $\endgroup$– rioforceCommented Jun 3, 2014 at 0:19
1 Answer
I am afraid that there is no optical flow available in Blender at this time. Optical flow technology uses motion vectors to estimate motion vectors across an image.
To simulate something similar try animating a pseudo mask object that follows the moving 2D image. You can animate it manually or you could use the tracker to follow elements of the animation then hook an object to it in 3D view. Take these actual object movements to use as vectors for the compositor.
For a better result, you can separate the character from the background if you have a clean plate of the background using a Difference Key node.
-
$\begingroup$ Even if there was an optical flow method implemented in Blender I doubt that it would get good results from stop motion films. The objects here usualy jump quite a bit between two frames. $\endgroup$– maddin45Commented Jun 6, 2014 at 14:30
-
$\begingroup$ @maddin45, you are quite wrong. Stop-motion films can be very smooth and not jumpy. Amatuer stop-motion film makers have a tendency to have jumpy footage. (But that's off topic. ;) ) This motion blur question could apply to anything. I used stop-motion because it doesn't already have motion blur, so it would be the best thing to apply it on. You could also used rendered footage without a speed or Z pass. $\endgroup$– rioforceCommented Jun 6, 2014 at 16:28
-
$\begingroup$ @maddin45 Patrick Boivin's stop motion videos can show how well this technique works ;) $\endgroup$ Commented Jan 23, 2015 at 13:59