3dsmax and nuke: Vector Blur


#1

I need some help with 3dsmax and Nuke and the vector blur.

I am rendering an animation with mental ray.
I have added the “velocity” channel in the render channel (saving to OpenEXR file sequence (16bit floating I think))
I Import all this to nuke - shuffle it into the motion pass of my beauty pass (png sequence) but when I add a vector blur node all it does is add a blur which looks like full picture motion blur from the bottom right to the top left.

Nuke totally seems to ignore the pass.

Now my question: How do I fix this?

Do I have to add the MR vector blur export material thingy from mental ray into the output of my camera in the renderer Tab?

I seem to get good vectors on my particles but the background, the static geometry in my renderers are always grey - they don’t seem to have motion at all.

HELP! please :slight_smile:

(couldn’t find any tutorials / any thread on this topic (only really old ones which are not of help) that’s why I am writing here)


#2

Hey lehmi,

I found a solution for your problem after trying around for several hours.

Use OpenEXRs but instead of rendering into a different channel / render element, you have to use the EXR Gbuffer to add the velocity channel right into the rendering. Choose “XY” in the EXR dialog. “UV” or “RGB” or all the other c*** won’t work.

16 bit floating / scanline and a compression of your choice will do the job.

Then import this into nuke. Add the vectorblur node and use the “Velocity XY” Gbuffer channel as the vector. Et voila - motion blur. Btw. either “forward” or “backward” method looks a lot better. Just try it out.

Leave the “export to motion vectors” in the camera output slot of mental ray renderer. Not sure if it helps anything - but it’s good for the voodoo…


#3

When using the Velocity Render Element did you follow the proper procedure to set the Maximum velocity? If not that is probably partially where your issue comes from. The GBuffer version updates every frame, IIRC.

-Eric


#4

This is a problem in composite as well when using vector elements from Max. Again the best solution is to use the EXR vector pass. The values used by max that worked so well in Combustion are not the same values that just about every other compositor want to see. I played a whole lot one day trying to convert the Max element values to what Composite wanted and didn’t find the solution.


#5

If you are trying to use 3ds Max Vector data in Composite I would highly suggest reviewing Mark Rasmussen’s Video Tutorial on the topic. He covers generating vector data, and how to setup of different types to generate the same values.

-Eric


#6

It was with Mark that I worked on this with and we had all sorts of issues still.


#7

I would continue to work with Mark to make sure the required info makes it to the 3ds Max and Composite teams. Hopefully he can help drive some change/fix on the topic.

-Eric


#8

Hi
I followed Lehmi’s advice, but the blurring is just wrong in Nuke, see this - the blur is not following the rotational motion in this scene, any idea Lehmi?:

Regards,
Thomas


#9

hey thomas,

yes I think you are right.

I used it with a couple of different scenes and motions and nuke always seems to interpret vectors wih some kinds of motions in a wrong way.

I’ve tried messing around with the motion vector layer via color correction nodes. But it’s not possible to correct them.

I don’t know if this is caused by MR creating wrong vectors of by the interpretation inside of nuke :frowning:


#10

The technique that has always worked for me in nuke is to use the g-buffer velocity pass of exr and invert the x channel of the layer before using it in vector blur.

you have to make sure to use the forward method and specifically telling the alpha…

attached is a nuke screen shot and the project file…

Project File:
http://www.sendspace.com/file/9o8a9z


#11

Hi revelation-creations
Yes, your solution almost does it - I guess it will do as long as the blur is not required too large. The perfect solution is a bit more complicated, I got it from The Foundry support.

It turned out that the Gbuffer vector pass from Mental Ray in 3DS Max 2013 was interpreted wrongly by Nuke. The solution which a genius from The Foundry came up with was to reverse the red channel of the velocity layer with an expression. This fixed it :slight_smile:
Maybe this is not a problem in future versions of Mental Ray with Max, but at current that solution seems to be the answer to vectorblur going in the wrong directions.
For those interested, here is a link to an example of how to do it.

/Thomas


#12

isn’t writing -r into red channel of velocity pass same as selectively inverting red channel…

i noticed i had by mistake inverted green channel (y) when i should have inverted the red channel…

apart from that as far as i can see the script you posted does exactly same as the solution i came with!!

Have been using it for couple of years under all possible situations and it never gave me a problem and always gave proper motion blur…


#13

Hey Thomas and revelation-creations,

thank you guys for pointing this out!

Finally correct motion blur on the renderings!
Nuke just got a lot better.

Glad I posted this here…


#14

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.