Pixel Spread with Motion Vectors

Dear all

I’m trying to get procedural spread for motion blur. I remember @GPM talking about this some time ago. Any idea how to do this? I have front, matte and motion analysis.

Hey John. I explored this a while back, but never came up with something that was truly procedural and effective. I think it could be possible with more RND time though.

Ah that’s a shame. I gave it a go today as well. It was a bit unwieldy. I think perhaps it’s difficult because Pixel spread only accepts forward vectors. And for the motion blur it will generally be in two directions based on the movement before and after a certain frame.

Hey @johnt what exactly are you trying to do? Just curious. Create motion blur from motion vectors or take existing motion blur and spread it outwards to fill a key?

Exactly that. I was in the middle of painting out motion blurred edges for a job with long boring shots and thought there’s got to be an easier quicker way. Then I remembered @GPM experimenting with pixel spread.

1 Like

One slow and hacky way of approaching this would be to use your pre-rendered vectors, add heavy motion blur to the clip with batch motion blur. Run difference matte between source and motion blurred, and use that diff matte (probably matte edge negative shrinked and blurred a bit) as the strength in Pixel Spread.

This theoretically would give you fat pixel spread in motion blur areas only. How accurate it would be, not sure.

But this is a slow approach. What would be better would likely need to happen in an MX, based only off the pre-rendered motion vectors, no need to pre-render and difference matte batch motion blur.

The length of the vector is the aspect that defines how much in a given direction to move. Flame’s values are normalized so that value should only be 0-1. Not at the machine, but it sounds like you would need to derive the luma values for your motion vectors (mono node, or some other process) and use that as strength in a pixel spread.

I’ll check later when I have some time, but it sounds like a cool idea.

1 Like

Yeah that was the direction I was heading when I had to move on. The reason I think MX might be necessary (there is already a standard pixel spread MX, which works ok), is that batch pixel spread doesn’t break out the X versus Y spread. I think this would need to be a new, separate pixel spread tool, hopefully MX.