Warp via MotionVectors

Wondering if anyone was been able to figure out how to drive a Warp (like a Distort) via MotionVectors? I’ve played around with UVs-> Distort-> MotionVector Tracking, but never really got it working properly.

Could you give more details?

I experimented with a little datamosh style effect using motion vectors from one shot applied to another ¯\_ _(ツ)__/¯

Instead of drawing/tracking spines in Distort node to warp things, it would be great to drive these type of operations with MotionVectors.

Hmm. I haven’t found a non totally hacky and not worth it way.

This would be a great opportunity for someone to develop a matchbox…. I’d put in for funding it.

I would love to get more out of the data passes like motion vectors or the world position pass like in this matchbox from @lewis

I have been trying to get ls_glue working with our 3D department but we have not nailed it yet.

This is obviously just tangentially related to this topic @Alan: but In the past couple years I’ve been far more willing to jump into the distort node, because spline warping just makes a lot more sense than grid based warping a lot of times. But that node can still be a mystery for me a lot of times and it’s so buggy that it can feel like it’s barely worth it. Would love to see a distort node tutorial some time in the future. Have always loved and still go back to that Audi spot breakdown, it’s rad.

Was this not part of these nine tutorials from Grant?

What spot are you referring to?

Not exactly what you’re looking for, Alan, but I often put a deform mesh on a source front and matte of a layer that is being tracked by motion vectors. Let’s me get the the base track and then warp to taste.

Alternatively, when I need to get transform data through a bunch of complex processes like a 3D track, projections or motion vectors, I’ll just use white spheres and 2D track the result. In this case, you’d put spheres where you want your spline vertices at frame 1 and let the motion vectors move them around. Might need to tweak along the way. Then 2d track the result for your spline vertices. Grid patterns work too.

1 Like

Similar to @TheMotizzle

I’ll use either the UV or motion vectors to apply a grid (uv_grid) that I can then use to track.

I stay away from distort ever since I found a job breaking bug (almost certainly fixed now) and I use extended bicubics but I get why spline base warping can be much better.

@PlaceYourBetts What was the job breaking bug, out of curiosity?

Argh. Flame 2018. Big morphing job @BrittCiampa

Our setups got the order of layers inverted. So the top layer that warped and faded off was now sitting underneath the other layer that warped.

There was no way, in the distort node, to re order the layers. Only the top layer (front) had the fade option. Just broke the whole setup.

I had a distort node go wrong on a shot around that time also. I ended up having to rebuild it and then baked it into a BFX so it didn’t break again down the track. PITA!!

@PlaceYourBetts @TheMotizzle

Would guys make a quick video demonstrating these techniques?

I’ll fish out a recent example @ALan :+1:

1 Like

Yeah no prob. I’ll try to get something recorded when I get a free moment.

1 Like

Ok @ALan I realise that I may be insulting your intelligence with this example. This isn’t the best example I have but it was the only one I had on my box.

I needed to track the clouds so that I could have a small boat sailing along the top.

I made it half size for speed but I often down size my motion vectors. My high pass filter helped on this example. Once I have the motion vectors I apply that to a grid that I have placed approximately on the cloud layer. The motion vectors push the grid around so that I now have points I can track.

(UPDATE - that last video finished a bit abruptly. Always check your exports people :wink: )

I can restore an archive that has a better example. Here we have tracking marks all over a prosthetic face but the CG needed some more pinning. Not motion vectors but this time a UV pass from CG. This time the UV pass pushes the grid around. That way I could track UV points of my extended bicubic to points on the CG and then track them to the points on the prosthetic. It is a better example, more relevant to what I was talking about but it is locked on an LT0 tape atm.

Screenshot 2022-07-26 at 08.55.23


This is great. Thank you.


I made this advert: the burger building sequence used stills and made the final wobble using motion vectors: