Site icon OpenVisual FX

Using Blender’s Vector Pass in Nuke

OpenVFX_motion_vectors_header_flat_02

Wow. Sometimes you think something will be easy and automatic, and then reality steps in and yells “Nope!” right in your face. This is one of those common things a compositor runs into almost daily – using a vector pass from a 3D program to add motion blur in post. Using a vector pass speeds up the 3D rendering and lets the compositor make adjustments to the motion blur without having to re-render any 3D elements.

Straightforward and simple, right? Especially considering every 3D program puts out vector passes, and every 2D program is able to use them to create motion blur. Naturally, Blender puts them out a little bit differently than other programs, so it took a bit of digging to figure out how to shuffle things around to get it working in Nuke as expected.

I originally found Manuel Albert’s post on BlenderArtists, which was great! In testing it out, I found it wasn’t blurring in the correct direction, however. Some quick shuffling of the channels and everything now works as planned. To save you the trouble of scouring the internet for the correct solution, I thought I’d run through the process quickly for everyone.

Manuel Albert and me at the 2017 Blender Conference

You’ll find it all below, both in pictures and video. Pictures if you just want the quick setup, video (scroll way down!) if you want a detailed explanation.

Step 1: In Blender, set the output format to OpenEXR MultiLayer. MultiLayer is important. Regular OpenEXR will not save your vector pass! Turn OFF the checkbox in the Motion Blur panel, and in your Layer settings, turn on the Vector pass for whatever layer you need motion blur on. That’s it, now render!

Step 2: In Nuke, first we have to find the older, legacy version of the Vector Blur tool. Just hitting TAB and searching for Vector Blur will not do it. That brings up the newer version of the tool, which, for some odd reason, doesn’t work with Blender’s vector pass. Instead, go to the Other tab, and at the bottom you’ll see All Plug-ins. Select Update, then open up that same tab again. Now you’ll see all plug-ins, including older legacy ones. Grab the first VectorBlur, not the VectorBlur2.

Step 3: Bring in a Shuffle and a ShuffleCopy, and place them along with the VectorBlur as shown in the image below. The Shuffle node will bring out the Combined beauty pass, so select it from the dropdown menu. The ShuffleCopy will let the Combined channels pass through while also bringing in the Vector channels and shuffling them into the Motion pass. Pay close attention to the settings below that show which Vector channels are shuffled into which Motion channels. This is the important part.

Step 4: In the VectorBlur settings, switch channels to rgba, set the UV channels to use the Motion pass, set the Method to forward, and choose rgba.alpha in the alpha dropdown menu. And that’s it, it should be working now. Adjust the Multiply value to dial in the motion blur to your liking.

Keep in mind this works for everything, as far as I can tell. For example, at work when I needed to do this, I was rendering a particle effect that was going to be distributed to many compositors, who would then use the particle pass to distort the footage behind layers of other particle effects, creating a superhero energy beam. By letting the compositors dial in the motion blur on the particle pass that was distorting the footage, they could achieve different styles of the energy distortion to suite the client’s needs.

Assets required:

Download the video tip directly right HERE.

 

Exit mobile version