Nuke and Blender: Speed Vector Pass in Nuke


we are trying to build a blender to nuke pipeline/workflow. Until now it worked surprisingly well.
Unforunately we haven’t figured out the speed vector pass (motion blur) thing yet.
We’ve been searching the internet (I am working more on the blender side of things and my colleague more on the nuke part), this forum and haven’t found anything that made us think we solved it.

First of all:
Blender (Cycles) delivers a motion vector pass which contains

“R: pixel displacement in X from current frame to previous frame
G: pixel displacement in Y from current frame to previous frame
B: pixel displacement in X from current frame to next frame
A: pixel displacement in Y from current frame to next frame”
(Matt Ebb posted this on one of the threads)

and seems to be a data pass (what we don’t know is: if and how it’s usable in Nuke).

So we experimented with different options and tried to recreate a UV-XY Vector Pass (like the one Cinema 4D delivers - useful for RSMB in After Effects which we used before) and did some node recombination and normalizations from seperated RGBA channels. This didn’t work out as great until we found a solution by doublebishop (much appreciated). But still, this didn’t seem to be the best solution. There are vector passes from Maya, from Vray and other Software and there are lots of tutorials out there but none that sort of gave us a hint on how to do it the best way. If been following the bf-compositor mailing list and the discussion going on and follow some of the threads here but I can’t figure it out yet.

Are there (those experienced compositing artists) out there who work with other software then blender who maybe can give us a hint on how to use blenders motion vector pass in nuke?

Help much appreciated, thanks in advance.


We seem to have found a solution which is rather easy. It doesn’t involve any node conversions in blender and lets you use the vector pass as it comes from Cycles. So no complicated setups needed only a shuffle node to switch two channels:

We tested different settings of VectorBlur and ZDefocus Combinations and this also seems to work quite nicely.

In the screenshot you can see the monkeys falling down. The background was rendered seperately and merged with the foreground elements. The motionblur and dof play along nicely (we do think that this is not a scene you’d show a customer but for obvious* reasons - but nonetheless it works).

  • pixel soup

Re-opened thread by request

This technique is great! However, I did find that the passes needed shuffled slightly differently, so I made a blog post about it.

Thanks, Manuel, for doing most of the work!