Page 1 of 1

[SOLVED] Using Trails node to fake motion blur?

PostPosted: Wed Jul 29, 2020 5:16 am
by Dazzer
Hi folks,

I've created some motion graphics in Blender and I'm now tying to add motion blur in Fusion.

Am i right in thinking that inside Fusion you can only add MB to stuff that's actually been animated in Fusion? (as opposed to a series of imported animated frames).

But anyway, it seems that you can "fake" motion blur by using a Trails node, and this actually looks pretty nice and is very tweakable.

Is there any downside to doing it this way? Am i missing anything in my "fake" MB compared to "real" MB?

Many thanks! ......... D

Re: Using Trails node to fake motion blur?

PostPosted: Wed Jul 29, 2020 5:20 am
by UserNoah
Trails is more or less a simulation and needs a previous frame (try scrubbing through it that's impossible without caching)
The best way would be to export motion vectors from blender and use those in combination with the vector motion blur tool.
A motion vector pass is essentially an image telling Fusion what velocity each pixel has in x and y axis.
If you can't rerender you could theoretically use the optical flow tool to guesstimate motion vectors in Fusion.

Re: Using Trails node to fake motion blur?

PostPosted: Wed Jul 29, 2020 5:29 am
by Dazzer
Thanks for the speedy reply!

I don't want to export vectors, because i'm doing a lot of texturing in Blender and have pretty much my finished graphics, so it's just tweaking in Fusion.

Actually on closer inspection i think i see how my "fake" MB is inferior:

Real MB would blur the entire graphic, whereas with my fake MB, the original image is staying sharp, and only the trails are being blurred (according to the blur setting i have on the trails node).

I guess i could improve my fake with some animated blur, so that as my mograph moves faster, i blur the original, then add the trails to that, but yeah, that's getting a bit tweaky!

Re: Using Trails node to fake motion blur?

PostPosted: Wed Jul 29, 2020 5:42 am
by UserNoah
I'm not sure I understand exactly what this has to to with textures.
Motion vectors are not vectors in terms of scalable graphics. It's simply an image. Like the Z-pass or World Position pass.

Re: Using Trails node to fake motion blur?

PostPosted: Wed Jul 29, 2020 6:14 am
by Dazzer
Ah, sorry, i have no experience of that!

I checked it but unfortunately the Eevee renderer (which i'm using) in Blender doesn't support a vector pass.

Blender also has the Cycles renderer, which does support a vector pass, but that's painfully slow to render and has a different look which is not what i want. But mainly it's just too slow to render to be useful to me.

Is it possible to use the vector motion blur tool (node?) and have a different set of EXRs to actually provide the vector info? If so, i could export EXRs at the lowest quality setting with Cycles, in which case the render time is very fast.

I see that the vector motion blur node has multiple inputs, but i just did a quick experiment but couldn't get it to work (using two sets of EXRs as i describe above).

Re: Using Trails node to fake motion blur?

PostPosted: Wed Jul 29, 2020 6:44 am
by UserNoah
Yes you can do that. But use a channel Boolean node set to copy and copy the red and green channel of the vector pass (or if it's saved inside the exr as the x and y vector then those) to the x and y vectors of your evee render.

Re: Using Trails node to fake motion blur?

PostPosted: Wed Jul 29, 2020 7:19 am
by Dazzer
OK!

I don't understand what you mean (because of my lack of knowledge), any chance you could copy / paste the node set-up so i can examine it? ......... pretty please??!!...... :mrgreen:

Re: Using Trails node to fake motion blur?

PostPosted: Wed Jul 29, 2020 10:50 am
by UserNoah
I'm sorry I'm not at home currently.
I try to be more specific.
Each image in fusion can have several layers. Red, green, and blue are three channels that form the RGB channel (+ the alpha channel, the image you are viewing).

Then there are more channels that are used as Data channels. They are not supposed to be viewed but they can contain additional information. For example the depth or velocity of your image.
Let's say you have created your cycles render and have your normal RGB channels creating the image you are viewing, and the exr also contains the motion vectors and want to copy those motion vectors to your Eevee render.
For that you can use the channel Boolean tool. Pipe your Eevee render in the background input, and you cycles render into the foreground input.
Change the main Red, Green, Blue, Alpha channels to "do nothing", keep the operation on copy.

Now head into the second tab of this node and enable auxiliary channels. Here you need to change the Vector X and Vector Y to Vector X FG (foreground) and Vector Y FG.
This will copy the motion vectors from your cycles render to the motion vector channels of the Eevee render.

Re: Using Trails node to fake motion blur?

PostPosted: Wed Jul 29, 2020 11:47 am
by Theodor Groeneboom
For a quick and dirty solution, use the OpticalFlow node to create motion vectors and use the VectorDisplace or VectorBlur to add motion blur.

Only works in Full version of Resolve/Fusion

Re: Using Trails node to fake motion blur?

PostPosted: Wed Jul 29, 2020 3:40 pm
by Dazzer
@UserNoah, thanks, i copied your instructions, but then i don't understand the next step .......

I still need to incorporate the vector motion blur node, right? But how? What plugs in to where?

Sorry man, i'll grab my dunce hat and go sit in the corner! ;)

Re: Using Trails node to fake motion blur?

PostPosted: Wed Jul 29, 2020 3:50 pm
by UserNoah
Plug the channel Boolean into the vector motion blur. Now it should automatically use the motion vectors to apply motion blur

Re: Using Trails node to fake motion blur?

PostPosted: Thu Jul 30, 2020 10:28 pm
by Dazzer
EDIT, there's an easier way, see below.

Re: Using Trails node to fake motion blur?

PostPosted: Thu Jul 30, 2020 10:40 pm
by Dazzer
EDIT, there's an easier way, see below.

But i'll leave this because Bryan refers to it in the next post:

You'll probably need to manually reload the EXRs as they'll be in a different location then on my computer, just go to each node and browse to the file location.

Re: [SOLVED] Using Trails node to fake motion blur?

PostPosted: Fri Jul 31, 2020 8:37 pm
by Bryan Ray
Whenever you want to share a comp for others to learn from, it's a good idea to use the comp: pathmap. For instance, if your Loader has this path in it:

comp:sources/myImageSeq.####.exr

The comp: will expand to the path where the .comp file is located, and if myImageSeq is in a subfolder called 'sources', it will automatically relink, no matter what folder the user puts it in.

Re: [SOLVED] Using Trails node to fake motion blur?

PostPosted: Fri Jul 31, 2020 9:25 pm
by Dazzer
Thanks Bryan, good to know!

I just realized it's actually a lot easier than we thought, so i edited out my above posts.

You don't even need the booleans, only the vector motion blur node.

So, Eevee render plugs into the background of the vector motion blur node.

The Cycles render (containing the vector pass) plugs into the foreground.

On the Cycles loader:

Inspector > format > channels drop down >
x velocity........set to: View Layer.Vector.X
y velocity........set to: View Layer.Vector.y

However, i've now come across another problem:

When using the AnimAll addon for animation in Blender, it won’t render vector info in the vector pass.

So i'm now gonna look into Theodor Groeneboom's suggestion from earlier in this thread.

Re: Using Trails node to fake motion blur?

PostPosted: Fri Jul 31, 2020 10:14 pm
by Dazzer
Theodor Groeneboom wrote:For a quick and dirty solution, use the OpticalFlow node to create motion vectors and use the VectorDisplace or VectorBlur to add motion blur.

Only works in Full version of Resolve/Fusion


Many thanks dude, that works pretty good!

But damn, it's pretty heavy on my CPU (or GPU?!)

Just to be clear, you said "only in Resolve/Fusion", but i got it working in Fusion standalone with:

Loader > OpticalFlow > VectorMotionBlur

That's what you meant, right? Or did you mean something else?

Re: [SOLVED] Using Trails node to fake motion blur?

PostPosted: Sat Aug 01, 2020 1:06 am
by Bryan Ray
He meant that it doesn't work in the free version of Fusion 9 because the Optical Flow nodes were Studio-only. I think that they were unlocked for the free version of Resolve 15+, though.

Yeah, OFlow is very computationally intensive. Usually you'll want to get the blur looking good, then prerender the vectors to an EXR so that they don't have to be calculated live all the time.

Re: [SOLVED] Using Trails node to fake motion blur?

PostPosted: Fri Aug 21, 2020 8:37 pm
by Dazzer
Thanks Bryan, will give that a try!